Mon, 03 Feb 2014 19:54:07 +0100
Implemented template tags 'a' to 'e'.
2
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
3 | # Copyright (c) 2014 Detlev Offenbach <detlev@die-offenbachs.de> |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing the Django tags menu handler. |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | from PyQt4.QtCore import QObject |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
11 | from PyQt4.QtGui import QMenu, QInputDialog, QLineEdit |
2
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | from E5Gui.E5Application import e5App |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
15 | |
2
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | class DjangoTagsMenuHandler(QObject): |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | """ |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | Class implementing the Django tags menu handler. |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | """ |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | def __init__(self, ui, parent=None): |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | """ |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | Constructor |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | @param ui reference to the user interface object (UI.UserInterface) |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | @param parent reference to the parent object (QObject) |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | """ |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | super(DjangoTagsMenuHandler, self).__init__(parent) |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | self.__ui = ui |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | self.__findDialog = None |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
32 | def closeAllWindows(self): |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
33 | """ |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
34 | Public method to close all dialogs managed by the handler. |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
35 | """ |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
36 | if self.__findDialog: |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
37 | self.__findDialog.close() |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
38 | |
2
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | def initMenus(self, mainMenu): |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | """ |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | Public method to initialize the various menus. |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | @param mainMenu reference to the main tags menu (QMenu) |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | """ |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | mainMenu.addAction(self.tr("Django Template Tags Locator"), |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | self.__findTemplateTag) |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
47 | mainMenu.addSeparator() |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
48 | mainMenu.addMenu(self.__initTagsMenu()) |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
49 | |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
50 | def __initTagsMenu(self): |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
51 | """ |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
52 | Private method to initialize the tags menu. |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
53 | |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
54 | @return generated menu (QMenu) |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
55 | """ |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
56 | menu = QMenu(self.tr("Tags")) |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
57 | menu.addAction(self.tr("autoescape - Auto Escape Characters"), |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
58 | lambda: self.__applyTemplate("autoescape")) |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
59 | menu.addSeparator() |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
60 | menu.addAction(self.tr("block - Named Block"), |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
61 | lambda: self.__applyTemplate("block")) |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
62 | menu.addSeparator() |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
63 | menu.addAction(self.tr("comment - Multiline Comment"), |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
64 | lambda: self.__applyTemplate("comment")) |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
65 | menu.addAction( |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
66 | self.tr( "csrf_token - Cross Site Request Forgery Token"), |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
67 | lambda: self.__applyTemplate("csrf_token")) |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
68 | menu.addAction(self.tr("cycle - Cycle variables each time used"), |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
69 | lambda: self.__applyTemplate("cycle")) |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
70 | menu.addSeparator() |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
71 | menu.addAction(self.tr("debug - Output Debug Information"), |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
72 | lambda: self.__applyTemplate("debug")) |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
73 | menu.addSeparator() |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
74 | menu.addAction( |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
75 | self.tr("extends - Extend a template with variable contents"), |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
76 | lambda: self.__applyTemplate("extendsvariable")) |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
77 | menu.addAction( |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
78 | self.tr("extends - Extend a template with file"), |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
79 | lambda: self.__applyTemplate("extendsfile")) |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
80 | |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
81 | self.__tagsMenu = menu |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
82 | return menu |
2
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | def __findTemplateTag(self): |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | """ |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | Private slot to find a template tag and insert its text. |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | """ |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | if self.__findDialog is None: |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | from .FindTemplateTagDialog import FindTemplateTagDialog |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
90 | self.__findDialog = FindTemplateTagDialog() |
2
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | self.__findDialog.tag.connect(self.__applyTemplate) |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | self.__findDialog.show() |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
93 | self.__findDialog.raise_() |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
94 | self.__findDialog.activateWindow() |
2
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
96 | def __applyTemplate(self, tag): |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | """ |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | Private slot to generate and insert the template text. |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
99 | |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
100 | @param tag name of the tag to insert (string) |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | """ |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | editor = e5App().getObject("ViewManager").activeWindow() |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | if editor is None: |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | return |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
106 | templateText, replace = self.__generateTemplateText( |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
107 | tag, editor.selectedText()) |
2
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | editor.beginUndoAction() |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
110 | if replace: |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
111 | editor.replaceSelectedText(templateText) |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
112 | else: |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
113 | editor.insert(templateText) |
2
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | editor.endUndoAction() |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
116 | def __generateTemplateText(self, tag, selectedText): |
2
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | """ |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | Private slot to generate the template text. |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | @param tag name of the tag to insert (string) |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
121 | @param selectedText selected text of the current editor (string) |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
122 | @return tuple of generated template text (string) and a flag indicating |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
123 | to perform a replace operation (boolean) |
2
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | """ |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
125 | # TODO: complete the tag generation logic |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
126 | replace = False # safe value |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
127 | |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
128 | #################################################### |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
129 | ## Template Tags ## |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
130 | #################################################### |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
131 | |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
132 | if tag == "autoescape": |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
133 | templateText = ("{% autoescape on %} " + |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
134 | selectedText + |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
135 | " {% endautoescape %}") |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
136 | replace = True |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
137 | elif tag == "block": |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
138 | blockName, ok = QInputDialog.getText( |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
139 | None, |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
140 | self.tr("Named Block"), |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
141 | self.tr("Enter block name:"), |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
142 | QLineEdit.Normal, |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
143 | "block_name") |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
144 | templateText = ("{% block " + |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
145 | blockName.strip() + |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
146 | " %} " + |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
147 | selectedText + |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
148 | " {% endblock %}") |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
149 | replace = True |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
150 | elif tag == "comment": |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
151 | templateText = ("{% comment %} " + |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
152 | selectedText + |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
153 | " {% endcomment %}") |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
154 | replace = True |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
155 | elif tag == "csrf_token": |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
156 | templateText = "{% csrf_token %}" |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
157 | elif tag == "cycle": |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
158 | cycleItems, ok = QInputDialog.getText( |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
159 | None, |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
160 | self.tr("Cycle Variables"), |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
161 | self.tr("Enter items to cycle separated by space"), |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
162 | QLineEdit.Normal, |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
163 | "item1 item2 item3") |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
164 | templateText = ("{% cycle " + cycleItems.strip() + " %} ") |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
165 | elif tag == "debug": |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
166 | templateText = "{% debug %}" |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
167 | elif tag == "extendsvariable": |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
168 | extends, ok = QInputDialog.getText( |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
169 | None, |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
170 | self.tr("Extends Variable"), |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
171 | self.tr("Enter variable name:"), |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
172 | QLineEdit.Normal, |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
173 | "variable") |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
174 | templateText = '{% extends ' + extends.strip() + ' %} ' |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
175 | elif tag == "extendsfile": |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
176 | extends, ok = QInputDialog.getText( |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
177 | None, |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
178 | self.tr("Extends Parent"), |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
179 | self.tr("Enter parent file name:"), |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
180 | QLineEdit.Normal, |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
181 | "base.html") |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
182 | templateText = '{% extends "' + extends.strip() + '" %} ' |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
183 | |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
184 | #################################################### |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
185 | ## Fallback: return just the tag name ## |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
186 | #################################################### |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
187 | |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
188 | else: |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
189 | templateText = tag |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
190 | return templateText, replace |