13 from PyQt6.QtCore import QCoreApplication, QObject, Qt, QTranslator |
13 from PyQt6.QtCore import QCoreApplication, QObject, Qt, QTranslator |
14 from PyQt6.QtGui import QPalette |
14 from PyQt6.QtGui import QPalette |
15 |
15 |
16 from eric7 import Preferences, Utilities |
16 from eric7 import Preferences, Utilities |
17 from eric7.EricWidgets.EricApplication import ericApp |
17 from eric7.EricWidgets.EricApplication import ericApp |
|
18 |
|
19 try: |
|
20 from eric7.SystemUtilities.FileSystemUtilities import isRemoteFileName |
|
21 except ImportError: |
|
22 from .RefactoringRope.RopeUtilities import isRemoteFileName |
18 |
23 |
19 # Start-Of-Header |
24 # Start-Of-Header |
20 name = "Refactoring Rope Plugin" |
25 name = "Refactoring Rope Plugin" |
21 author = "Detlev Offenbach <detlev@die-offenbachs.de>" |
26 author = "Detlev Offenbach <detlev@die-offenbachs.de>" |
22 autoactivate = True |
27 autoactivate = True |
23 deactivateable = True |
28 deactivateable = True |
24 version = "10.7.0" |
29 version = "10.7.1" |
25 className = "RefactoringRopePlugin" |
30 className = "RefactoringRopePlugin" |
26 packageName = "RefactoringRope" |
31 packageName = "RefactoringRope" |
27 shortDescription = "Refactoring and Code Assist using the Rope library." |
32 shortDescription = "Refactoring and Code Assist using the Rope library." |
28 longDescription = ( |
33 longDescription = ( |
29 """This plug-in implements refactoring functionality using the Rope""" |
34 """This plug-in implements refactoring functionality using the Rope""" |
327 Preferences.Prefs.settings.setValue(self.PreferencesKey + "/" + key, value) |
332 Preferences.Prefs.settings.setValue(self.PreferencesKey + "/" + key, value) |
328 |
333 |
329 if key in ["MouseClickGotoModifiers", "MouseClickGotoButton"]: |
334 if key in ["MouseClickGotoModifiers", "MouseClickGotoButton"]: |
330 for editor in self.__editors: |
335 for editor in self.__editors: |
331 self.__disconnectMouseClickHandler(editor) |
336 self.__disconnectMouseClickHandler(editor) |
332 self.__connectMouseClickHandler(editor) |
337 if not isRemoteFileName(editor.getFileName()): |
|
338 self.__connectMouseClickHandler(editor) |
333 |
339 |
334 def __determineLanguage(self): |
340 def __determineLanguage(self): |
335 """ |
341 """ |
336 Private method to determine the valid language strings. |
342 Private method to determine the valid language strings. |
337 |
343 |
351 Private slot called, when a new editor was opened. |
357 Private slot called, when a new editor was opened. |
352 |
358 |
353 @param editor reference to the new editor |
359 @param editor reference to the new editor |
354 @type Editor |
360 @type Editor |
355 """ |
361 """ |
356 languages = self.__determineLanguage() |
362 if not isRemoteFileName(editor.getFileName()): |
357 |
363 languages = self.__determineLanguage() |
358 if editor.getLanguage() in languages: |
364 |
359 self.__connectEditor(editor) |
365 if editor.getLanguage() in languages: |
360 |
366 self.__connectEditor(editor) |
361 editor.languageChanged.connect(self.__editorLanguageChanged) |
367 |
362 self.__editors.append(editor) |
368 editor.languageChanged.connect(self.__editorLanguageChanged) |
|
369 self.__editors.append(editor) |
363 |
370 |
364 def __editorClosed(self, editor): |
371 def __editorClosed(self, editor): |
365 """ |
372 """ |
366 Private slot called, when an editor was closed. |
373 Private slot called, when an editor was closed. |
367 |
374 |
379 |
386 |
380 @param language programming language of the editor |
387 @param language programming language of the editor |
381 @type str |
388 @type str |
382 """ |
389 """ |
383 editor = self.sender() |
390 editor = self.sender() |
384 languages = self.__determineLanguage() |
391 if not isRemoteFileName(editor.getFileName()): |
385 |
392 languages = self.__determineLanguage() |
386 self.__disconnectEditor(editor) |
393 |
387 if language in languages: |
394 self.__disconnectEditor(editor) |
388 self.__connectEditor(editor) |
395 if language in languages: |
|
396 self.__connectEditor(editor) |
389 |
397 |
390 def __connectEditor(self, editor): |
398 def __connectEditor(self, editor): |
391 """ |
399 """ |
392 Private method to connect an editor. |
400 Private method to connect an editor. |
393 |
401 |