-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathi_view32.py
46 lines (39 loc) · 1.26 KB
/
i_view32.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
print "importing " + __file__
from dragonfly import *
import Base
import inspect
import win32gui
import chajLib.ui.keyboard as kb
from chajLib.ui import docnav
grammar = Base.ContinuousGrammar("IrfanView grammar", context=AppContext(executable="i_view32"))
#decorator
def GrammarRule(rule):
if inspect.isclass(rule):
if issubclass(rule, Base.BaseQuickRules):
rule(grammar)
else:
grammar.add_rule(rule())
else:
grammar.add_rule(rule)
# @GrammarRule
# class FlipDimensionsRule(Base.ContinuousRule):
# spec = "flip dimensions"
# def _process_recognition(self, node, extras):
# kb.sendCtrlKey(kb.KEY_R)
# hDlg = win32gui.FindWindow(None, "Resize/Resample image")
# hButton = win32gui.FindWindowEx(hDlg, None, "BUTTON", "Preserve &aspect ratio (proportional)")
# win32gui.SendMessage(hButton, 0x00F1, 0, None)
# current_width = docnav.read_selection()
# kb.sendCtrlKey(kb.KEY_X)
# kb.sendTab()
# current_height = docnav.read_selection()
# kb.paste()
# kb.sendShiftTab()
# kb.SendString(current_height)
# kb.sendReturn()
grammar.load()
def unload():
global grammar
if grammar:
grammar.unload()
grammar = None