I'm a GUI developer using Qt targetting cross-platform. Whenever I add a new component of GUI, especially dialogs, buttons, and menus, I suffer for what text I should use.
For instance, when adding a button to select an existing folder, I can think of 3 candidates: "Select", "Open", or "Browse". Also, I'm not sure if I should append ... like Browse... or not.
I have problems to decide the title of dialogs, too. For example, for a dialog to save a file, 'Save', 'Save...', or 'Save a file'...
I do know the specific text may be difference depending on desktop envrironment or OSes, which makes things more complicated.
Is there any reference or guide or library or anything which can help my situation?
There are user interface guidelines on the web:
1) OS X: link
2) Windows: link
3) For KDE i found the following reference: link
4) For GNOME check this out: link
When it comes to "Save" vs "Save ...": I would suggest to use the ellipsis if the user has to activly do something after pressing the button (e.g. choose a file).
Related
When I create the "Command link button" (QCommandLinkButton) it has relatively nice green arrow icon.
I would like to see what other nice icons can I choose. When I try to change the icon, [Theme] appears instead of path or some GUI selection dialog:
I also noticed the context menu:
When I click Set icon from theme, again expecting some GUI selection list, I get just a text field:
What I was imagining:
Where's the list of icons from which the green arrow was taken?
QIcon::fromTheme works under specific conditions.
If it can find it in the QIcon::themeSearchPaths() for the QIcon::themeName()
If the desired icon isn't there, Qt Designer won't be able to do any of the from theme, named icons.
But... if you check your target system for the theme search paths and set the theme name, you are more likely to have success.
Example
On linux, I wanted to get a plus and a minus icon.
I found list-add.png and list-remove.png fit the bill.
https://github.com/GNOME/adwaita-icon-theme/tree/master/Adwaita/16x16/actions
http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
I did a locate on my system and found these:
/usr/share/icons/gnome/16x16/actions/list-add.png
...
/usr/share/icons/gnome/32x32/actions/list-add.png
/usr/share/icons/gnome/scalable/actions/list-add.svg
/usr/share/icons/oxygen/16x16/actions/list-add.png
...
Forcing with fallback icon in QIcon::fromTheme
Find the icon on the filesystem:
ui->toolButton->setIcon(QIcon::fromTheme("list-add",
QIcon("/usr/share/icons/gnome/16x16/actions/list-add.png")));
Find the icon in the qt resource system...
Add the icon in a qrc file in your build, then reference it's path.
ui->toolButton->setIcon(QIcon::fromTheme("list-add",
QIcon(":/list-add.png")));
Overriding the current icon theme
qDebug() << "themeSearchPaths:" << QIcon::themeSearchPaths() << QIcon::themeName();
// themeSearchPaths: ("/usr/local/share/icons", "/usr/share/icons", ":/icons") "hicolor"
The default theme for the system, and for the target deployment machine, likely didn't have the icons in it I wanted... but the gnome or oxygen icon desktop theme installed would almost always have it...
QIcon::setThemeName("oxygen");
Note that you won't see the preview in Qt Designer necessarily because it doesn't set the theme until runtime of your code.
The gnome icon library has 1100+ icons in it. Here is one list:
https://gist.github.com/peteristhegreat/c0ca6e1a57e5d4b9cd0bb1d7b3be1d6a
This works as long as you know what themes are available on the target system.
The list from freedesktop.org has 286 icons listed.
Use icons included in Qt
Just like #peppe pointed out, Qt includes 70 standard icons, too.
widget->setIcon(widget->style()->standardIcon(QStyle::SP_BrowserReload));
http://doc.qt.io/qt-5/qstyle.html#StandardPixmap-enum
Conclusion
Using a stock library on your target system is probably the fastest. Using the Qt built-ins is fast to figure out and use, but is fairly limited. Using a resource file is probably the most robust method, and gives unlimited options on what icon to use.
Be sure to pick a standard icon pack, and think about licensing and attributions, and some other things like that.
And there is no shortage of icons available online:
https://www.quora.com/What-is-the-best-icon-library
https://www.google.com/search?q=open+source+icon+library
Hope that helps.
I don't think that's the function you want to use. The "theme" name there corresponds to the QIcon::fromTheme functionality, which uses icons named according to the FDO specification
http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
And they're not really supported on non-FDO platforms (Windows, Mac, ...) unless you deploy your own theme files.
Now some stock icons are shipped with Qt itself; I don't know how to set them from Designer, but from code you can use QStyle::standardIcon:
widget->setIcon(widget->style()->standardIcon(QStyle::SP_BrowserReload));
If the icon you need is not provided by Qt, you'll need to ship it. In that case the Resource System is a convenient way to bundle it alongside your executable.
Last, but not least, from a UX point of view you should consider using QToolButtons unless you're really building a Vista-like wizard.
I'm working on a Qt UI that will run on a touchscreen. At some point it will be useful to select files, in (probably) a QFileDialog.
But little icons on a QFileDialog leads to a terrible touch-user experience, I'd like them to be bigger, so the user doesn't get crazy trying to navigate in the filesystem.
Actually, I'm searching documentation to see if there is a way through css, but haven't seen yet which target/propery to use.
Given the doc of QFileDialog class:
QFileDialog::Detail 0 Displays an icon, a name, and details for each item in the directory.
QFileDialog::List 1 Displays only an icon and a name for each item in the directory.
You can't set icon size this way. I recommend you to set a custom icon provider on the QFileDialog.
I want do something like this:
So, add label or graphical label to folders from Qt library, and I don't know what I have to do.
I think, firstly I have to get/take default icon for element and then I suppose, I have to add the label (or PNG) to the icon, or similar, and finally show both.
I'm doing a app similar to DropBox, and files inside a folder have this status label.
Thanks in advance.
Here is a starting point for creating it for Windows:
Creating Shell Extension Handlers
http://msdn.microsoft.com/en-us/library/windows/desktop/cc144067(v=vs.85).aspx
How to Create Icon Handlers
http://msdn.microsoft.com/en-us/library/windows/desktop/cc144122(v=vs.85).aspx
EDIT: Another link - http://www.codeproject.com/Articles/7484/How-to-overlay-an-icon-over-existing-shell-objects
Hope that helps.
TinyMCE 3.5.8
I merely need to create a button (and module) that acquires a user-entered value from a popup and places it between two tags, e.g., [bib][/bib]
I am having trouble finding a "step-by-step" for doing this, including what files, where code goes, etc. This must be rather simple?
I have replaced all of the occurrences of "example" with my module name in the "Example" module, but that is where my information ends.
If someone would be so kind !
P.S.: It would be even better if the form field would javascript validate for "integer", but maybe I ask too much?
download the tinymce development version
use tiny_mce_dev.js instead of tinymce.js for developement in order to get more usefull error messages
create an own tinymce plugin (this is not that difficult) that opens a popup
get the content of a popup field
insert it at the right place in the editor
You should have a look at other tinymce plugins (in the plugins directory under the tiny_mce dir) to get to know how some things work. There are many plugins, some of them use popups.
I.E. the searchreplace popup
I often need to display MyFile.aspx in the browser while it's not the actual file I'm working on: I might be working on a .js file that's referenced in Myfile.aspx file, or some back-end library.
So I have to switch from the tab I'm on the MyFile.aspx tab and then click the View In Browser button. Is there a way to avoid this extra step? I know I could set MyPage.aspx as the default start page and hit the Play button but then the whole site would be rebuilt and it would take even longer than finding and switching tabs constantly.
How can I add a button to the toolbar that directly previews MyFile.aspx in the browser?
I'm using VS2012 RC (really cool BTW)
Thanks for your suggestions.
Yes. You just should:
Go to Tools->Customize
Select the tab "Commands", click on the "Keyboard" button.
In the "Show command containing" textbox, type the following: file.viewinbrowser
Set a hot key for this
well your easy answer is to just keep that page open in the browser and just refresh the browser
a more complicated answer would be to add a external tool' command to do this. Go to Tools -> External Tools... and a new entry with the Command being C:\Program Files (x86)\Internet Explorer\iexplore.exe or whatever your browser of choice it and then put your URL in the Arguments field. If you want to assign this to a keyboard shortcut, follow the instrucutions at http://msdn.microsoft.com/en-us/library/80cb6ks3.aspx