Option Explicit Dim ActionList, ModeList Set ActionList = DOpus.NewVector(0, "none", "normal", "refresh", "parent", "root", "back", "forward", "dblclk") Set ModeList = DOpus.NewVector(0, "none", "LargeIcons", "SmallIcons", "List", "Details", "Power", "Thumbnails", "Tiles") Function OnInit(InitData) InitData.name = "View Modes Switcher" InitData.desc = "Automatic switching view modes." InitData.copyright = "(C) 2014 TVB" InitData.version = "0.3" InitData.default_enable = False InitData.config.Action1 = ActionList InitData.config.Action2 = ActionList InitData.config.Action3 = ActionList InitData.config.Action4 = ActionList InitData.config.Action5 = ActionList InitData.config.Action6 = ActionList InitData.config.Action7 = ActionList InitData.config.Mode1 = ModeList InitData.config.Mode2 = ModeList InitData.config.Mode3 = ModeList InitData.config.Mode4 = ModeList InitData.config.Mode5 = ModeList InitData.config.Mode6 = ModeList InitData.config.Mode7 = ModeList InitData.config.Switch1 = False InitData.config.Switch2 = False InitData.config.Switch3 = False InitData.config.Switch4 = False InitData.config.Switch5 = False InitData.config.Switch6 = False InitData.config.Switch7 = False End Function Function OnAfterFolderChange(AfterFolderChangeData) If AfterFolderChangeData.action = ActionList(Script.config.Action1 + 1) Then Call SetView(Script.config.Switch1, ModeList(Script.config.Mode1 + 1)) ElseIf AfterFolderChangeData.action = ActionList(Script.config.Action2 + 1) Then Call SetView(Script.config.Switch2, ModeList(Script.config.Mode2 + 1)) ElseIf AfterFolderChangeData.action = ActionList(Script.config.Action3 + 1) Then Call SetView(Script.config.Switch3, ModeList(Script.config.Mode3 + 1)) ElseIf AfterFolderChangeData.action = ActionList(Script.config.Action4 + 1) Then Call SetView(Script.config.Switch4, ModeList(Script.config.Mode4 + 1)) ElseIf AfterFolderChangeData.action = ActionList(Script.config.Action5 + 1) Then Call SetView(Script.config.Switch5, ModeList(Script.config.Mode5 + 1)) ElseIf AfterFolderChangeData.action = ActionList(Script.config.Action6 + 1) Then Call SetView(Script.config.Switch6, ModeList(Script.config.Mode6 + 1)) ElseIf AfterFolderChangeData.action = ActionList(Script.config.Action7 + 1) Then Call SetView(Script.config.Switch7, ModeList(Script.config.Mode7 + 1)) End If End Function Sub SetView(Switch, Mode) If Switch Then Dim OpusCmd Set OpusCmd = DOpus.NewCommand If OpusCmd.IsSet("VIEW=" & Mode & "") = False Then OpusCmd.RunCommand("Set VIEW=" & Mode & "") End If End If End Sub