Sliding keyboard detection in Qt applications

Hello

I am a porting of Qt for Playbook, but I am puzzled because when the virtual keyboard is taking place, it covers all the elements of input in the lower part of the screen. It also covers a vertical scroll bar that would be able to scroll up the form to get the relevant entry in the display items.

Is it some kind of event that is sent to the application, which would say that the keyboard has come out (and back in?) It would be easy enough to adjust the available application to make everything visible, or the less accessible, but so far, I found not a way to find a way to tell when the virtual keyboard is out.

Best wishes

Kevin

It turns out that a suggestion by borceg on a different thread solves this problem-

Set the size of the main window with widget.showMaximized (), rather than setting a specific size. In this way, the main window will automatically resize when the keyboard unfolds, and you can detect these changes in the size and link them to all layout changes are needed.

I guess that I was thrown off the track here by being more familiar with desktop development. I can't think of a good reason never to call showMaximzed() on the window of a desktop application but, obviously, this is more or less crucial in this environment.

Thanks to all who responded.

Tags: BlackBerry Developers

Similar Questions

  • Detect the first application running

    I create an application with a SQLlite database in the SD card. The application is already installed in the device and the database has already been created on the SD card.

    However, I have a newer version of the application and a newer database structure for it. I want to change the database table when the user launches the application newer version for the first time.

    The problem is: how to detect that the application is running for the first time?

    You have many options to do so, but according to my suggestion, you can have an object stored in the persistent store to indicate the version of the app and start can check if the application has the same version number as the stored object.

  • How to enter text in the text entry box using the virtual keyboard in a flex application

    Re: How to enter text in the text entry box using the virtual keyboard in a flex application

    Hello

    I'm using flash builder 4.

    I designed the virtual keyboard, I have to update the text in the input text permanently area using the virtual keyboard.

    I used the events.i button does a few he's cheating.

    can someone help me tat.

    Thanks in advance.

    I have included my mxml with this program.

    virtualKeyboard. MXML

    <? XML version = "1.0" encoding = "utf-8"? >
    " < = xmlns:fx s:Application ' http://ns.Adobe.com/MXML/2009 "
    xmlns:s = "library://ns.adobe.com/flex/spark".
    xmlns:MX = "library://ns.adobe.com/flex/mx" minWidth = minHeight = "955" "600" creationComplete = "initfunc ()" >
    < fx:Script >
    <! [CDATA]
    Import mx.controls.Alert;
    private function initfunc (): void
    {
    B1.addEventListener (MouseEvent.Click, HandleEvent);
    B2.addEventListener (MouseEvent.Click, HandleEvent);
    B3.addEventListener (MouseEvent.Click, HandleEvent);
    B4.addEventListener (MouseEvent.Click, HandleEvent);
    B5.addEventListener (MouseEvent.Click, HandleEvent);
    B6.addEventListener (MouseEvent.Click, HandleEvent);
    B7.addEventListener (MouseEvent.Click, HandleEvent);
    B8.addEventListener (MouseEvent.Click, HandleEvent);
    B9.addEventListener (MouseEvent.Click, HandleEvent);
    B10.addEventListener (MouseEvent.Click, HandleEvent);
    B11.addEventListener (MouseEvent.Click, HandleEvent);
    B12.addEventListener (MouseEvent.Click, HandleEvent);
    B13.addEventListener (MouseEvent.Click, HandleEvent);
    B14.addEventListener (MouseEvent.Click, HandleEvent);
    B15.addEventListener (MouseEvent.Click, HandleEvent);
    B16.addEventListener (MouseEvent.Click, HandleEvent);
    B17.addEventListener (MouseEvent.Click, HandleEvent);
    B18.addEventListener (MouseEvent.Click, HandleEvent);
    B19.addEventListener (MouseEvent.Click, HandleEvent);


    B20.addEventListener (MouseEvent.Click, HandleEvent);
    B21.addEventListener (MouseEvent.Click, HandleEvent);
    B22.addEventListener (MouseEvent.Click, HandleEvent);
    B23.addEventListener (MouseEvent.Click, HandleEvent);
    B24.addEventListener (MouseEvent.Click, HandleEvent);
    B25.addEventListener (MouseEvent.Click, HandleEvent);
    B26.addEventListener (MouseEvent.Click, HandleEvent);
    B27.addEventListener (MouseEvent.Click, HandleEvent);
    B28.addEventListener (MouseEvent.Click, HandleEvent);
    B29.addEventListener (MouseEvent.Click, HandleEvent);
    B30.addEventListener (MouseEvent.Click, HandleEvent);
    B31.addEventListener (MouseEvent.Click, HandleEvent);
    B32.addEventListener (MouseEvent.Click, HandleEvent);
    B33.addEventListener (MouseEvent.Click, HandleEvent);
    B34.addEventListener (MouseEvent.Click, HandleEvent);
    B35.addEventListener (MouseEvent.Click, HandleEvent);
    B36.addEventListener (MouseEvent.Click, HandleEvent);
    B37.addEventListener (MouseEvent.Click, HandleEvent);
    B38.addEventListener (MouseEvent.Click, HandleEvent);
    B39.addEventListener (MouseEvent.Click, HandleEvent);
    B40.addEventListener (MouseEvent.Click, HandleEvent);
    B41.addEventListener (MouseEvent.Click, HandleEvent);
    B42.addEventListener (MouseEvent.Click, HandleEvent);
    B43.addEventListener (MouseEvent.Click, HandleEvent);
    B44.addEventListener (MouseEvent.Click, HandleEvent);
    B45.addEventListener (MouseEvent.Click, HandleEvent);
    B46.addEventListener (MouseEvent.Click, HandleEvent);
    B47.addEventListener (MouseEvent.Click, HandleEvent);
    B48.addEventListener (MouseEvent.Click, HandleEvent);
    B49.addEventListener (MouseEvent.Click, HandleEvent);
    B50.addEventListener (MouseEvent.Click, HandleEvent);
    B51.addEventListener (MouseEvent.Click, HandleEvent);
    B52.addEventListener (MouseEvent.Click, HandleEvent);
    B53.addEventListener (MouseEvent.Click, HandleEvent);

    }
    public void handleEvent (e: MouseEvent): void
    {
    var a: String = e.target.name;
    Alert.Show (e.Target.Name);
    var b:String = null;
    Switch (a)
    {

    case 'Button20 ':
    b = TextBox.Text;
    TextBox.Text = "a";
    TextBox.Text = b + "a";
    break;


    case 'Button21 ':

    TextBox.Text = "b";
    TextBox.Text = b + "b";
    break;


    by default:

    TextBox.Text = "s";
    TextBox.Text = b + "s";
    }
    }

    []] >
    < / fx:Script >

    < s:Panel = "43" x y = "82" width = "527" height = "213" >
    < mx:Button = "71" x y = '86' id = "b1" label = "1" width = "30" height = "24" / >
    < s:Button = "180" x y = '86' id = "b2" label = "5" width = "30" height = "24" / >
    < s:Button = "127" x y = '86' id = "b3" label = "3" width = "30" height = "24" / >
    < s:Button = "99" x y = '86' id = "b4" label = "2" width = "30" height = "24" / >
    < s:Button = "323" x y = '86' id = "b5" label = "0" width = "30" height = "24" / >
    < s:Button = "294" x y = '86' id = "b6" label = "9" width = "30" height = "24" / >
    < s:Button = "265" x y = '86' id = "b7" label = "8" width = "30" height = "24" / >
    < s:Button x = '237' y = '86' id = "b8" label = "7" width = "30" height = "24" / >
    < s:Button = '209' x y = '86' id = "b9" label = "6" width = "30" height = "24" / >
    < s:Button = "42" x y = '86' id = "b10" label = "" ' "width ="30"height ="24"/ >"
    < s:Button x = "382" y = '86' id = "b11" label = "=" width = "30" height = "24" / >
    < s:Button = '353' x y = '86' id = "b12" label = "» largeur" width = "30" height = "24" / > "
    < s:Button = "410" x y = '86' id = "b13" label = "back" width = "76" height = "24" / >
    < s:Button = "157" x y = '86' id = "b14" label = "4" width = "30" height = "24" / >
    < s:Button = "43" x = "109" id = "b15" label = "tab" width = "66" height = "24" / >
    < s:Button = "105" x = "109" id = "b16" label = "q" width = "31" height = "24" / >
    < s:Button = "247" x = "109" id = "b17" label = "y" width = "30" height = "24" / >
    < s:Button '303' = x y = "109" id = "b18" label = "i" width = "31" height = "24" / >
    < s:Button = "361" x y = '110' id = "b19" label = "p" width = "34" height = "23" / >
    < s:Button = "394" x = "109" id = "b20" label = "[" width = "31" height = "24" / >] "
    < s:Button = "191" x = "109" id = "b21" label = "r" width = "34" height = "24" / >
    < s:Button '424' = x y = "109" id = "b22" label = "]" width = "31" height = "24" / > "
    < s:Button = "222" x = "109" id = "b23" label = "t" width = "31" height = "24" / >
    < s:Button = "161" x = "109" id = "b24" label = "e" width = "31" height = "24" / >
    < s:Button = "133" x = "109" id = "b25" label = "w" width = "31" height = "24" / >
    < s:Button = "332" x = "109" id = "b26" label = "o" width = "31" height = "24" / >
    < s:Button = "275" x = "109" id = "b27" label = "u" width = "31" height = "24" / >
    < s:Button = "220" x = "133" id = "b28" label = "g" width = "31" height = "24" / >
    < s:Button '424' = x y = "132" id = "b29" label = "enter" width = "62" height = "24" / >
    < s:Button = "43" x = "132" id = "b30" label = "caps" width = "66" height = "24" / >
    < s:Button = "275" x = "133" id = "b31" label = "j" width = "42" height = "23" / >
    < s:Button = "314" x = "132" id = "b32" label = "k" width = "31" height = "24" / >
    < s:Button = "133" x = "133" id = "b33" label = "s" width = "31" height = "23" / >
    < s:Button = "161" x = "133" id = "b34" label = "d" width = "31" height = "23" / >
    < s:Button = "250" x = "133" id = "b35" label = "h" width = "31" height = "23" / >
    < s:Button = "105" x = "133" id = "b36" label = "a" width = "31" height = "23" / >
    < s:Button = "191" x = "133" id = "b37" label = "f" width = "31" height = "23" / >
    < s:Button = "342" x = "132" id = "b38" label = "l" width = "31" height = "24" / >
    < s:Button = "152" x = "154" id = "b39" label = "x" width = "31" height = "24" / >
    < s:Button = "353" x = "154" id = "b40" label = "'." " Width = "31" height = "24" / >
    < s:Button = "325" x y = "154" id = "b41" label = "," width = "31" height = "24" / >
    < s:Button = "294" x = "154" id = "b42" label = "m" width = "31" height = "24" / >
    < s:Button = "259" x = "154" id = "b43" label = "n" width = "37" height = "24" / >
    < s:Button = '236' x y = "154" id = "b44" label = "b" width = "31" height = "24" / >
    < s:Button = "211" x = "154" id = "b45" label = "v" width = "31" height = "24" / >
    < s:Button = "181" x = "154" id = "b46" label = "c" width = "31" height = "24" / >
    < s:Button = "122" x = "154" id = "b47" label = "z" width = "31" height = "24" / >
    < s:Button = "380" x = "154" id = "b48" label = "/" width = "31" height = "24" / >
    < s:Button '368' = x y = "132" id = "b49" label width = ';' = "31" height = "24" / >
    < s:Button = "396" x = "132" id = "b50" label = "" ' "width ="31"height ="24"/ >"
    < s:Button = "43" x = "154" id = "b51" label = "shift" width = "82" height = "24" / >
    < s:Button '407' = x y = id = "154" "b52" label = "shift" width = "79" height = "24" / >
    < s:Button = "455" x = "109" id = "b53" label = "------" width = "31" height = "24" / >

    < / s:Panel >
    < s:TextInput = "161" x = "27" id = "textbox" width = "253" / >

    < / s:Application >

    Kind regards

    Saran r

    Hello

    http://gumbo.flashhub.NET/keyboard/

    It is a small example of a 'virtual' keyboard that will enter the text into a textinput/textarea component selected. Capslock and shift key States really aren't quite right (really need control shift/cap lock combo), but there is a simple tab and backspace (delete) and enter the function key.

    hope this is useful

    David.

  • How to detect if the application is uninstalled!

    Hi guys!

    I develop applications for BlackBerry devices, and I wonder if it is possible to detect the moment when the application is uninstalled from the user.

    I appreciate your help.

    greetings.

    Take a look at CodeModuleListener and related classes.

    Good luck!

  • Make a keyboard WebWorks BB10 compatible applications for Q10

    Hello

    Asked me to wear a WebWorks application originally designed for the Z10 to the Q10.

    One of the requirements is to make the application compatible keyboard.

    What they mean by that, is that, in the application, a user is presented with a series of options on the screen; A, B, C, D.

    On the Z10, they can only use the touchscreen, but they want users on a Q10 to keypress A, B, C or D and who trigger this selection as option.

    Is this available in th WebWorks API?

    Yes, you can do it with event listeners and the keypress or keydown events.

    When a user presses keyboard events, these events are triggered, and then you can map them to appropriate the JavaScript functionality.

    Here is an example that illustrates the main events:

    http://BlackBerry.github.IO/WebWorks-samples/kitchenSink/HTML/browser/KEYEVENTS.html

    Here is a code snippet that should help you to solve your problem:

    window.addEventListener("load", function(ee) {
    
       document.addEventListener("keydown", function(e) {
          var theChar = String.fromCharCode(e.keyCode);
    
          switch(theChar) {
    
             case "a":
                alert("a");
                break;
    
             case "b":
                alert("b")
                break;
             default:
                alert("unsupported char : " + theChar)
          }
    
       },  false);
    
    }, false);
    
  • Detect the installed application language packs

    Hi all

    Simple question: does anyone know how to detect the language packs installed on a smart phone BlackBerry to my application?

    Thank you!

    The Local.getAvailableLocales () method returns and table of available space (languages) on the BlackBerry Smartphone.

  • Creative cloud does not detect any installed application

    I installed Photoshop and Illustrator, but creative cloud detects these app.

    How to troubleshoot it. I installed in the D drive on my laptop. My other PC, I also installed on drive D, but it has detected these applications.screen shot.jpg

    Hi Tanissornt80782254,

    Please see the document below for assistance:

    https://helpx.Adobe.com/manage-account-membership/CC-reverts-to-trial.html

    Hope this helps!

  • AVG anti virus detect any ADF application as being infected

    We feel something weird right now. Since some time between 21 July and 22 all versions of AVG anti-virus are detecting the ADF as being infected by a virus JS/Redir javascript libraries. I already tried to contact the AVG on the issue, but they still have to answer in return. At the moment our applications are seen by users as infected with the virus. Since our application is internet facing us cannot really control what anti virus used by our clients. AVG is a fairly popular anti virus so I do not know that some of our customers was probably hit by it.

    Until someone asks even the demo hosted by Oracle to http://jdevadf.oracle.com/adf-richclient-demo/faces/index.jspx component causes AVG trigger, it is not only our application do.

    Any ideas on what can be done to get AVG to fix this fast (I think Oracle could carry more weight with them so we would do).

    I remember a similar question 2 or 3 years ago, where this provider software used a false positive. This issue then slipped by Oracle inform the seller of this false positive

    Frank

  • Portege 4000 - drive TEAC DV-28-B not detected by write applications

    I found a replacement disk for my Portege 4000. It's exactly the same as the previous, but when I installed CDBurnerXP and Nero, they were unable to detect the drive, so I could not burn a CD, although I have read in Windows Media Player.

    I also tried 'Search the hardware changes' in the device but Manager who did not work, so don't know what to do next.

    Try to delete the upper and lower ODD filters in the registry. Instructions: http://support.microsoft.com/kb/982116

  • Cartridge JavaEE - automatic detection of custom Application

    The JavaEE 5.7.4 cartridge is capable of executing a function of type of automatic discovery on a custom application? We want to know what is available to follow on this application.

    There are some things that monitor out of the box, applications generally consist of components (EJB, Servlets, JSP, using data sources) and those are monitored with default rules and thresholds indicating running on resources (using x %, waiting on etc.), the thresholds are defined, but can be easily modified (numbers for warning criticism, fatel). You can see the rules in the list of rules and variables in the list of registry variables.

    Regarding applications, they are referenced by Foglight but there is on the box for the exceptions rules, execution trend time delays.

    There are rules for the response time on X and different from the base which is usually tweaked according to the customer's environment.

    There are things that are easy to decide (using high % or 100% of your resources on your resources, exceptions, waiting times), those who are easy to alert a control point on

    The delicate are the response time (on X or compared to the reference level), depends on the normal behavior of the system, it depends on what is considered acceptable (1 s, 2 s, 3 s, 10 s?) also depends on do not want to be notified on a 1 time or problems that are not regarded as serious. Thos are generally twisted according to the customer.

    I hope this helps.

    Golan.

  • Detect when an application is removed from the device.

    Y at - it a mechanism that can help by asking the application when it is suppressed by the user, it may be necessary to do some accounting operations when the application is removed by the user. ?

    -Thank you

    At least for the moment, there is no way.

    I wonder if there should be any of this necessary accounting though. If you store application-specific files in the shared folders, you are probably violating the design guidelines for the file system. Apps should always store their own data inside their files of sandbox.

    If you store files readable by other applications in the shared folders, that's fine, but then you should not try to remove these when uninstalling.

    I know I make generalizations without knowing your particular case... I wanted to just make sure that you do not have one of the most obvious things as 'bad'.

    In the future, it is possible a uninstall hook will be available as part of the call, although I doubt that's going to be one of the first things they add in the next updates (10.2 or more). It's most probably not one that has even been asked yet, so I encourage you to file a feature request in the developer Issue Tracker if you really need this (and don't forget to explain in detail the use case).

  • Detect if an application has the attention of the user

    Hey guys,.

    I have the BlackBerry to get the attention of the user (e.g. by vibrating) If an important event occurs.

    However, it does not vibrate if the application already has the attention of the user. What is the best way to check if the application has the attention of the user?

    Something to consider:

    -App is in the background (probably using Application.isForeground ())

    -If the BB is in the Holster (Application.isInHolster or something similar?)

    -If the request is put forward, but the screen is off. In this case, I still want the BB to vibrate and turn on the screen.

    Thanks in advance!

    How about using

    DeviceInfo.getIdleTime)

    We are looking for a time > 30 seconds to determine the unit is in standby.

  • Y at - it a keyboard shortcut for the application of fake bold to the text selected?

    I did some research but couldn't find an answer anywhere.  I know that it is possible to apply fake fat to the selected text via the keyboard shortcut in Photoshop and InDesign, but I couldn't find something for After Effects.  Is it possible to do this via a regular keyboard shortcut?

    Thank you!

    -Arie

    Noi

  • Installed Ultimate Traffic 2, but it does not load the windows has detected an incompatible application how can I solve this

    Ive already has obtained Microsoft Flight Simulator X is installed with Service packs 1 and 2, but this custom still Ultimate Traffic 2 open

    Hello

    1. What is the operating system installed on your computer?

    2. What is the exact error message you are getting?

    Please provide us with more information on this issue in order to help you better on this thread.

    In the meantime, you can try to run the program in compatibility mode and check if it works.

    http://Windows.Microsoft.com/en-us/Windows7/make-older-programs-run-in-this-version-of-Windows

  • How to detect that Illustrator.Application is fully charged (VB)

    Does anyone have a trick they use to determine that the app is fully charged? There is a method available that I might be missing? I got most of the time, but I'd like to get this issue caught in the trap. Looking for a method available in the API to script Illustrator preference. In VB Try/Catch does not in this case...

    Thank you!   -TT

    (CC2014, VB.NET on WIndows 8.1.)

    If after investigation a little more and understanding (and little sleep), I came with a VB code to solve my dilemma. Here is the code:

    Actually, my biggest problem was self-inflicted, as I had somehow the updated UI VS throwing exceptions, even on exceptions handled, leaving virtually no one to blame but myself. :-(

    ImageCollection wrote:

    I should more with vb as it has potential external JS.

    Let us know how you go.

    Qwertyfly... -Thanks for your response here. I really hope you do more in VB, because it gets pretty lonely here on this forum. :-)  Please let me know if you ever decide to get involved with VB. I'd be happy to help you to help you get started. :-)

    -TT

Maybe you are looking for

  • Which is the default value?

    When I go to devices and printers, I have a HPA3FEDE marked printer icon (HP photosmart plus B209a-metres) I also have a laptop icon; Named my PC name, when I click it it says HP Photosmart Plus B209a-m and shows the same as the icon of other print q

  • Ergonomic 4000 keyboard: replace circuits possible film?

    Greetings- This is my first time on the forum posting. If all goes well, it is as useful as the forum of Lenovo ;-) Has anyone replaced the signs of circuits in plastic for a MS 4000 ergonomic keyboard? I have the vertical line at the Center (/ 2) is

  • Disable windows moblility

    Is there a way to disable the windows on my dell Mobility Center. It is constantly popping up. Very aggrivating.

  • Problems of opening remarks and by adding photos to hotmail.

    Suddenly, I came across problems with my computer after downloading some speed improving prog.    I can not openWord files (word 2007).  I can't attach photos to emails.  Pls help I am using windows 7 home Edition. Thank you.

  • my printer is a HP CP1700 and Windows 7 does not recognize that it is able to print 2 sides

    I just bought a Dell Inspiron.  It works very well except for my printer.  My HP color inkjet CP1700 printer is able to print 2 sides.  Windows 7 does not recognize that it is able to print both side and does not give me the option to enable printing