PluginExtensionIrc.py

Wed, 07 May 2025 18:04:38 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 07 May 2025 18:04:38 +0200
changeset 12
cb3fac2b499c
parent 11
d1af35d0bcc6
permissions
-rw-r--r--

Created global tag <release-10.0.2>.

2
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1 # -*- coding: utf-8 -*-
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3 # Copyright (c) 2025 Detlev Offenbach <detlev@die-offenbachs.de>
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
4 #
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
5
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
6 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
7 Module implementing a plug-in providing IRC communication capability.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
8 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
9
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
10 import logging
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
11 import os
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
12
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
13 from PyQt6.QtCore import QCoreApplication, QObject, Qt, QTranslator
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
14 from PyQt6.QtGui import QIcon, QKeySequence, QPixmap
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
15
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
16 from eric7 import EricUtilities, Preferences
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
17 from eric7.EricGui import EricPixmapCache
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
18 from eric7.EricGui.EricAction import EricAction
11
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
19 from eric7.EricWidgets import EricMessageBox
2
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
20 from eric7.EricWidgets.EricApplication import ericApp
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
21 from eric7.UI.UserInterface import UserInterfaceSide
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
22
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
23 # Start-Of-Header
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
24 __header__ = {
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
25 "name": "IRC Extension Plugin",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
26 "author": "Detlev Offenbach <detlev@die-offenbachs.de>",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
27 "autoactivate": True,
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
28 "deactivateable": True,
11
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
29 "version": "10.0.2",
2
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
30 "className": "IrcExtensionPlugin",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
31 "packageName": "ExtensionIrc",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
32 "shortDescription": "This plug-in adds a widget to communicate via IRC messa",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
33 "longDescription": (
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
34 "This plug-in adds a widget to communicate via IRC messages. It replaces"
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
35 " the formerly integrated variant."
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
36 ),
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
37 "needsRestart": False,
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
38 "hasCompiledForms": True,
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
39 "pyqtApi": 2,
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
40 }
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
41 # End-Of-Header
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
42
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
43 error = "" # noqa: U-200
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
44
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
45 ircExtensionPluginObject = None
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
46
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
47
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
48 def createIrcPage(configDlg): # noqa: U-100
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
49 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
50 Function to create the IRC configuration page.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
51
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
52 @param configDlg reference to the configuration dialog
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
53 @type ConfigurationWidget
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
54 @return reference to the configuration page
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
55 @rtype TranslatorPage
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
56 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
57 global ircExtensionPluginObject
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
58 from ExtensionIrc.ConfigurationPage.IrcPage import IrcPage # noqa: I-101, I-102
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
59
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
60 page = IrcPage(ircExtensionPluginObject)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
61 return page
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
62
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
63
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
64 def getConfigData():
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
65 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
66 Function returning data as required by the configuration dialog.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
67
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
68 @return dictionary containing the relevant data
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
69 @rtype dict
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
70 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
71 return {
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
72 "ircPage": [
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
73 QCoreApplication.translate("IrcExtensionPlugin", "IRC"),
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
74 os.path.join("ExtensionIrc", "icons", "irc"),
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
75 createIrcPage,
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
76 None,
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
77 None,
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
78 ],
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
79 }
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
80
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
81
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
82 def prepareUninstall():
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
83 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
84 Function to prepare for an un-installation.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
85 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
86 Preferences.getSettings().remove(IrcExtensionPlugin.PreferencesKey)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
87
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
88
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
89 class IrcExtensionPlugin(QObject):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
90 """
11
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
91 Class implementing a plug-in providing IRC communication capability.
2
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
92 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
93
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
94 PreferencesKey = "IRC"
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
95
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
96 def __init__(self, ui):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
97 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
98 Constructor
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
99
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
100 @param ui reference to the user interface object
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
101 @type UI.UserInterface
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
102 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
103 super().__init__(ui)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
104 self.__ui = ui
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
105 self.__initialize()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
106
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
107 self.__defaults = {
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
108 "ShowTimestamps": True,
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
109 "TimestampIncludeDate": False,
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
110 "TimeFormat": "hh:mm",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
111 "DateFormat": "yyyy-MM-dd",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
112 "NetworkMessageColour": "#000055",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
113 "ServerMessageColour": "#91640A",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
114 "ErrorMessageColour": "#FF0000",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
115 "TimestampColour": "#709070",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
116 "HyperlinkColour": "#0000FF",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
117 "ChannelMessageColour": "#000000",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
118 "OwnNickColour": "#000000",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
119 "NickColour": "#18B33C",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
120 "JoinChannelColour": "#72D672",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
121 "LeaveChannelColour": "#B00000",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
122 "ChannelInfoColour": "#9E54B3",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
123 "EnableIrcColours": True,
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
124 "IrcColor0": "#FFFF00",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
125 "IrcColor1": "#000000",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
126 "IrcColor2": "#000080",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
127 "IrcColor3": "#008000",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
128 "IrcColor4": "#FF0000",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
129 "IrcColor5": "#A52A2A",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
130 "IrcColor6": "#800080",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
131 "IrcColor7": "#FF8000",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
132 "IrcColor8": "#808000",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
133 "IrcColor9": "#00FF00",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
134 "IrcColor10": "#008080",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
135 "IrcColor11": "#00FFFF",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
136 "IrcColor12": "#0000FF",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
137 "IrcColor13": "#FFC0CB",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
138 "IrcColor14": "#A0A0A0",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
139 "IrcColor15": "#C0C0C0",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
140 "ShowNotifications": True,
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
141 "NotifyJoinPart": True,
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
142 "NotifyMessage": False,
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
143 "NotifyNick": False,
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
144 "AutoUserInfoLookup": True,
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
145 "AutoUserInfoMax": 200,
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
146 "AutoUserInfoInterval": 90,
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
147 "MarkPositionWhenHidden": True,
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
148 "MarkerLineForegroundColour": "#000000", # Black on
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
149 "MarkerLineBackgroundColour": "#ffff00", # Yellow
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
150 }
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
151
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
152 self.__translator = None
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
153 self.__loadTranslator()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
154
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
155 def __initialize(self):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
156 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
157 Private slot to (re)initialize the plugin.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
158 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
159 self.__irc = None
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
160
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
161 def activate(self):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
162 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
163 Public method to activate this plug-in.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
164
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
165 @return tuple of None and activation status
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
166 @rtype bool
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
167 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
168 global error, ircExtensionPluginObject
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
169 error = "" # clear previous error
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
170 ircExtensionPluginObject = self
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
171
11
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
172 if self.__ui.versionIsNewer("25.4"):
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
173 # Create the IRC user interface
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
174 logging.getLogger(__name__).debug("Creating IRC Widget...")
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
175 from ExtensionIrc.IrcWidget import IrcWidget # noqa: I-101, I-102
2
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
176
11
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
177 usesDarkPalette = ericApp().usesDarkPalette()
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
178 self.__iconType = "dark" if usesDarkPalette else "light"
2
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
179
11
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
180 self.__irc = IrcWidget(plugin=self)
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
181 iconName = "sbIrc96" if self.__ui.getLayoutType() == "Sidebars" else "irc"
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
182 self.__ui.addSideWidget(
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
183 UserInterfaceSide.Right,
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
184 self.__irc,
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
185 self.getIcon(iconName),
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
186 self.tr("IRC"),
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
187 )
2
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
188
11
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
189 self.__activateAct = EricAction(
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
190 self.tr("IRC"),
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
191 self.tr("&IRC"),
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
192 QKeySequence(self.tr("Ctrl+Alt+Shift+I")),
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
193 0,
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
194 self,
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
195 "irc_widget_activate",
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
196 )
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
197 self.__activateAct.setStatusTip(
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
198 self.tr("Switch the input focus to the IRC window.")
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
199 )
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
200 self.__activateAct.setWhatsThis(
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
201 self.tr(
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
202 """<b>Activate IRC</b>"""
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
203 """<p>This switches the input focus to the IRC window.</p>"""
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
204 )
2
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
205 )
11
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
206 self.__activateAct.triggered.connect(self.__activateWidget)
2
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
207
11
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
208 self.__ui.addEricActions([self.__activateAct], "ui")
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
209 menu = self.__ui.getMenu("subwindow")
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
210 menu.addAction(self.__activateAct)
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
211
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
212 ericApp().getObject("PluginManager").shutdown.connect(self.__irc.shutdown)
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
213
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
214 self.__irc.autoConnected.connect(self.__activateWidget)
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
215 self.__irc.autoConnect()
2
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
216
11
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
217 return None, True
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
218 else:
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
219 EricMessageBox.warning(
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
220 self.__ui,
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
221 self.tr("IRC Extension"),
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
222 self.tr(
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
223 "The IRC extension cannot be activated because it requires eric7"
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
224 " 25.5 or newer."
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
225 ),
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
226 )
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
227 error = self.tr(
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
228 "The IRC extension cannot be activated because it requires eric7 25.5"
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
229 " or newer."
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
230 )
2
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
231
11
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
232 return None, False
2
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
233
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
234 def deactivate(self):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
235 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
236 Public method to deactivate this plug-in.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
237 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
238 menu = self.__ui.getMenu("subwindow")
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
239 menu.removeAction(self.__activateAct)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
240 self.__ui.removeEricActions([self.__activateAct], "ui")
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
241 self.__ui.removeSideWidget(self.__irc)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
242
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
243 self.__initialize()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
244
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
245 def __getIconPaths(self, iconName):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
246 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
247 Private method to generate a list of paths to check for the requested icon name.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
248
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
249 @param iconName name of the icon
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
250 @type str
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
251 @return list of icon path names
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
252 @rtype list of str
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
253 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
254 return [
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
255 os.path.join("ExtensionIrc", "icons", self.__iconType, iconName),
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
256 os.path.join("ExtensionIrc", "icons", iconName), # without icon type
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
257 ]
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
258
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
259 def getIcon(self, iconName):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
260 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
261 Public method to get a named icon.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
262
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
263 @param iconName name of the icon
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
264 @type str
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
265 @return requested icon
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
266 @rtype QIcon
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
267 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
268 icon = QIcon()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
269
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
270 for iconPath in self.__getIconPaths(iconName):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
271 icon = EricPixmapCache.getIcon(iconPath)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
272 if not icon.isNull():
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
273 break
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
274
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
275 return icon
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
276
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
277 def getPixmap(self, pixmapName):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
278 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
279 Public method to get a named pixmap.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
280
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
281 @param pixmapName name of the pixmap
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
282 @type str
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
283 @return requested pixmap
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
284 @rtype QPixmap
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
285 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
286 pixmap = QPixmap()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
287
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
288 for pixPath in self.__getIconPaths(pixmapName):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
289 pixmap = EricPixmapCache.getPixmap(pixPath)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
290 if not pixmap.isNull():
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
291 break
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
292
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
293 return pixmap
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
294
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
295 def __loadTranslator(self):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
296 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
297 Private method to load the translation file.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
298 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
299 if self.__ui is not None:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
300 loc = self.__ui.getLocale()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
301 if loc and loc != "C":
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
302 locale_dir = os.path.join(
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
303 os.path.dirname(__file__), "ExtensionIrc", "i18n"
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
304 )
9
bd9ede602f1c Fixed an issue causing translations not being loaded.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
305 translation = "irc_{0}".format(loc)
2
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
306 translator = QTranslator(None)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
307 loaded = translator.load(translation, locale_dir)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
308 if loaded:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
309 self.__translator = translator
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
310 ericApp().installTranslator(self.__translator)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
311 else:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
312 print( # noqa: M-801
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
313 "Warning: translation file '{0}' could not be"
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
314 " loaded.".format(translation)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
315 )
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
316 print("Using default.") # noqa: M-801
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
317
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
318 def __activateWidget(self):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
319 """
11
d1af35d0bcc6 Corrected some copy & paste issue in the source code documentation and added code to prevent plug-in activation on eric-ide versions containing the embedded variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
320 Private slot to handle the activation of the IRC widget.
2
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
321 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
322 uiLayoutType = self.__ui.getLayoutType()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
323
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
324 if uiLayoutType == "Toolboxes":
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
325 self.__ui.rToolboxDock.show()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
326 self.__ui.rToolbox.setCurrentWidget(self.irc)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
327 elif uiLayoutType == "Sidebars":
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
328 self.__ui.activateLeftRightSidebarWidget(self.__irc)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
329 self.__irc.setFocus(Qt.FocusReason.ActiveWindowFocusReason)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
330
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
331 def getPreferences(self, key):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
332 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
333 Public method to retrieve the various settings values.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
334
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
335 @param key the key of the value to get
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
336 @type str
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
337 @return the requested setting value
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
338 @rtype Any
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
339 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
340 if key in [
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
341 "TimestampIncludeDate",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
342 "ShowTimestamps",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
343 "ShowNotifications",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
344 "NotifyJoinPart",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
345 "NotifyMessage",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
346 "NotifyNick",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
347 "EnableIrcColours",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
348 "AutoUserInfoLookup",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
349 "MarkPositionWhenHidden",
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
350 ]:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
351 return EricUtilities.toBool(
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
352 Preferences.Prefs.settings.value(
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
353 self.PreferencesKey + "/" + key, self.__defaults[key]
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
354 )
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
355 )
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
356 elif key in ["AutoUserInfoMax", "AutoUserInfoInterval"]:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
357 return int(
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
358 Preferences.Prefs.settings.value(
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
359 self.PreferencesKey + "/" + key, self.__defaults[key]
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
360 )
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
361 )
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
362 else:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
363 return Preferences.Prefs.settings.value(
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
364 self.PreferencesKey + "/" + key, self.__defaults[key]
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
365 )
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
366 return None
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
367
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
368 def setPreferences(self, key, value):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
369 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
370 Public method to store the various settings values.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
371
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
372 @param key the key of the setting to be set
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
373 @type str
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
374 @param value the value to be set
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
375 @type Any
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
376 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
377 Preferences.Prefs.settings.setValue(self.PreferencesKey + "/" + key, value)

eric ide

mercurial