How to Clear history in Adobe Air's HTML control - html

I am using Adobe AIR's html control in my desktop application to let users see web pages. I am using the html.historyBack() and html.historyNext() methods to allow moving back and forth. But I want to clear the history once a specific option is selected, say a click on a button, without restarting the application. I tested both versions of AIR, 1.5.2 and AIR 2.0 Beta but unable to find any way to do so.
Is there any way to fix this problem?
Looking forward to hear from you,
Alex Fisherr

I don't think you can direct modify the history object because it's read-only. The easiest way to clear your history is to create a new HtmlLoader and replace the existing HtmlLoader.
This new HtmlLoader will have no history as desired.

If all you want to do is set the enabled state of the back and forward buttons then have a start point int, which you can reset when needed. Then base the history.length on this.

Related

Hide audiolinks from public

I'm creating a mediaplayer in my website using html5 audio.
I'm struggling with not allowing the users to download my audiofile. The problem is not in my webpage, as I can simply use the controlslist to disable download. The problem is, if someone gets the link to the source on my server, and opens it in a new tab in chrome, then they have a download-button in the chrome audioplayer.
How can I remove this option? I can not allow the users to download the audiofiles.
Edit:
Or maybe the best way to go around this is to use the javascript Audio-class? Then I won't expose the sourceurl. What do you think? Any downsides/upsides choosing one of them?

Send mouse events to inactive and hidden windows/WPF forms

I'm developing an app that needs to generate mouse events on a window Win32/WPF which may be minimized or hidden from view on the desktop.
I have tried the user32.dll APIs SendInput, SendMessage, PostMessage etc. These work only if the window is visible on the desktop. Would you know about any methods that work for hidden/inactive windows?
I've also tried .NET's UI Automation library. In this case, a window is brought to the front or I'm not able to get a clickable point for the control.
Any ideas how I can proceed? If I can proceed?
I don't know if you're still interested in an answer (I just stumbled upon this question out of sheer dumb luck), but have you tried making a global windows hook?
I have no honest idea on how to properly go about implementing one; but I know you should be able to add a global windows hook to, well, Windows, to listen for whatever events you want (should include mouse and keyboard events!)
Good luck...

Image Viewer Plugin - Part 2

in a former thread ( Adding a user interface to an image viewer plugin ) I have got some good insight on how to add GUI controls to a firebreath plugin. Taxilian pointed out that when I use a windowed plugin under Windows it should be straighforward. Basically like developing any other Windows App.
Now, to make sure I understand correctly. I'm suppose to create a child window from the window handle supplied by the onWindowAttached event. To create such a child window I need to register such windows class with ::RegisterClassEx(...) to have my own Window Procedure. Is that correct? I mean how else would get access to WM_COMMAND events?
Once that is done I need to ::CreateWindowEx(...) my child window with the hwnd from the plugin.
Is that the right way of thinking?
Thanks ahead,
Christian
Actually creating a child window is optional; WM_COMMAND events for your actual plugin window will be delivered encapsulated in a WindowsEvent that you can catch the same way you get an AttachedEvent. All windows events are sent that way.
Another option is to do what you describe and register a new class with a WINPROC and create a child window. The main reason for doing that would be that you might be able to more easily interact with an abstraction like wxWidgets, etc because it will not know what FireBreath is to get events from it that way. Either method should work fine.

using PopUpManager in a Flex 4.5 Mobile App

This is more of a best practices question rater than something technical.
I'm working on a mobile app using the Flex 4.5 SDK and I'm trying to figure out the best way to handle notification windows. In most cases these windows will be alerting the user to when something goes wrong. Ex: bad login, no data, cannot resolve server.
I'm using a singleton design pattern, I have a Requests class that handles server calls. Most popups will be originating from this class (IOErrorEvents from my loader being used to access the API). Since this class is a singleton and is used from all Views inside the app it is not aware of applications current view. I'm also not sure having this class keep track of the current view and having it push popups on top of it would be best practice.
I'm hoping that I can use PopUpManager to keep track of where to add popups and what popups are currently on the stage. Though all examples I've seen online about this show static Components being used in a views Declarations tag.
I'm really just looking for any examples or input on how you would solve this problem. Any help would be greatly appreciated!
I had the same problem, and sorted it by making an Alert popup component that you can call from anywhere in the code base, and it will pop up in the currently active window. It also has an always visible scrollbar text area which is handy
http://bbishop.org/blog/?p=502
It works for a view navigator application, but if your using a tabbed navigator application, you can add a call for that, or simply change the code to
mainTabbedNavigator = FlexGlobals.topLevelApplication.tabbedNavigator;
currentTab = mainTabbedNavigator.selectedNavigator as ViewNavigator;

IntelliJ navigation

I'm using IntelliJ to do Java Development for an application where we use JSF in a few places. In the .jsp file I have defined my backing class and the code runs properly.
My question is: How do I set up my environment so that when I center click on the method names, which use EL format, IntelliJ navigates to the proper method in the proper class.
Having taken a quick look at my IntelliJ install, if you go to File->Settings, there should be a keymap section under the IDE Settings header. Make a new keymap profile other than default. You can probably just copy the default and give it a new name. In the actions window, open Main Menu->Go To and there should be an action called "Implementation(s)". The description of this action seems to match what you are looking for. Click Add Mouse Shortcut, and center click in the click pad area to set it. I didn't want to actually change my settings, so I didn't finish the steps myself, but this should do what you are wanting to do. It may warn you that you are overwriting a shortcut to another action, so be aware of that.
Hope this helps.
This is using IntelliJ Version 9 beta.
in JSP I am using something like this
<%--#elvariable id="owner" type="com.mysite.data.Owner"--%>
This is a comment specific for intellij I guess. In this way when the owner variable is used anywhere like:
${owner.name}
is known to intellij that is of a Owner type. Intellij then automatically go to the class definition by pressing CTRL+B or middle mouse button.
This is working with intellij idea 9 beta and I remember that this feature was broken in 8.1.1. Prob it is working again in 8.1.x
Probably the same approch will also work for JSF.