Displaying Share UI over a small Window - desktop-bridge

I'm using the IDataTransferManagerInterop.ShowShareUIForWindow class to display share ui in a desktop bridge app.
The problem is, the application window has a small height and the share UI appears with the same height as the application window. With such small height, the share UI is unusable.
Maybe the ShowShareUI(Options) overload method of the DataTransferManager class could help adjusting the size by SelectionRectangle property, but this overload is not available in the IDataTransferManagerInterop interface.

Related

Nonexclusive Borderless Fullscreen with QML

I need a fullscreen window in QML. However, it must not be exclusive fullscreen. My application must work with accessible applications such as Windows On-screen Keyboard and Magnifier. If my application runs in exclusive fullscreen, it will stay on top of other accessible applications making them useless.
With QWidget, I can call showFullscreen() and get what I needed (a window that cover the entire screen while letting other accessible applications stay on top of it.
With QML, there are a few few ways to make the window fullscreen. However, all of the methods I've tried result in exclusive fullscreen.
I've tried all answers suggested here. To summarize I've tried setting visibility: "FullScreen". I've tried manually setting the width and height to match the screen resolution.

Qt sidebar comes up too wide

I use Qt designer (as opposed to building controls via the program) to lay out my sidebar and floating dialogs. When first launching the application, the sidebar is WAY too wide and bears no resemblance to how I saved it. The user can shrink it to a reasonable width, and that is 'remembered' after closing and re-opening the application. But it doesn't create a good first impression of our application, and not all our users are savvy enough to realize that the sidebar width can be changed.
The sidebar is quite complex, with multiple forms (QStackedWidget) and each with multiple controls. Any suggestions for forcing it to come up at the minimum width with the first use? Thanks!
You should be able to achieve the wanted behavior by setting "Horizontal Stretch" property in Qt Designer, for each of the widgets in your splitter or layout, whichever you are using to layout your components. See QSizePolicy documentation for more info.
The "Horizontal Stretch" & "Vertical Stretch" properties are located in Qt Designers Property Editor, under the sizePolicy.See the image for exact location of properties

In creator it's huge, but window is small

I have this problem. As you see in creator it is all huge but in window application it is normal, because in designer I had to make it big, so application look better. Why is it like this?
You need to set the minimum size of the buttons bigger in order to have them show bigger. The sizePolicy is also your friend when working with UI elements in Qt. By default this property is set as preffered which is usually a very good setting, but does not set things bigger than they must be.
Also, consider using layouts for more dynamic control over the UI.

How to use Material Design Lite to target only desktop browser

I'm using MDL for a desktop-only web application and I do not need the content to be responsive. That is, even if the user resizes the browser window, I don't need to re-arrange the content. Neither it will ever be browsed on a mobile device. How do I prevent the content from being responsive?
https://getmdl.io/components/index.html#layout-section/grid
I have provided reference to the MDL grid at the above link.
The content should not be responsive without initiating something like the mdl-grid class and mdl-cell class which would then allow you to label pieces like a content card with specific sizing, which will resize based on the device. If you are using your own style sheets you could create a card class which would have a specific pixel width you believe would work best for the project on a desktop.

Flex/AIR layout for presentation tool (resize logic, aspect ratios etc.)

I'm developing a presentation tool for AIR (to be used together with, or as a replacement to, PowerPoint) but I'm quite a newcomer to flex layouting.
As you can see from the image, the presenter can open various apps from the main window.
Each of these apps open up in new windows which have different visual characteristics; some use the main content area to show graphics, others bullet points. Most app windows have buttons and view stacks with embedded Flash assets (using s:SpriteVisualElement).
My questions are the following:
1a. When developing a PowerPoint-like presentation tool with Flex, which layout type (basic, vertical etc.) will provide most flexibility?
1b. How do I make sure no clipping occurs on various projector screens - which aspect ratio should I have in mind?
2a. How can I resize children sprites in the SpriteVisualElement container proportionally to the window resolution?
2b. And where do I place this resize logic - on each component (sprite) with resizeHandlers or in one resizeHandler / window?
Please use the comment thread if you want me to elaborate further. Thanks.
Since you're new to Flex, I strongly reading up on the Flex Component LifeCycle.
1a. When developing a PowerPoint-like presentation tool with
Flex, which layout type (basic,
vertical etc.) will provide most
flexibility?
The layout you choose will depend on what you want to display. I don't see layouts as "Flexible". They do their job and position their elements appropriately. I can easily envision using all types of layouts in such a complicated application, each for different purposes.
1b. How do I make sure no clipping occurs on various projector screens -
which aspect ratio should I have in
mind?
I'm not quite sure I understand what this question means, but I take it to mean you want to avoid the presence of scroll bars in your app. To do that, you'll have to develop layout code that sizes and positions your children so that they do not extend past the height and width of your available content space. In Flex 3 (Halo) architecture, this would be done by writing an updateDisplayList() method for your component. In the Flex 4 (Spark) architecture, this would probably be done by writing an updateDisplayList() method for your skin class.
2a. How can I resize children sprites in the SpriteVisualElement
container proportionally to the window
resolution?
I believe my above answer already addresses this.
2b. And where do I place this resize logic - on each component
(sprite) with resizeHandlers or in one
resizeHandler / window?
In a resize handler, I would most likely use invalidateSkinState and/or invalidateDisplayList. The resizing code would be in the skin and/or updateDisplayList.

Resources