Opened 15 years ago

Closed 15 years ago

#45 closed task (fixed)

Port QDesktopServices

Reported by: Dmitry A. Kuminov Owned by:
Priority: major Milestone: Qt GA
Component: QtGui Version: 4.5.1 Beta 1
Severity: low Keywords:
Cc:

Description

Provide the OS/2 version of the QDesktopServices class.

Change History (2)

comment:1 by Dmitry A. Kuminov, 15 years ago

Milestone: QtGui BetaQt GA

Created the dummy implementation in r132. The real functionality (things like opening URLs) is irrelevant for the beta.

comment:2 by Dmitry A. Kuminov, 15 years ago

Resolution: fixed
Severity: low
Status: newclosed

Implemented in r486. Below are some remarks about the implementation.

In the absence of the native guidelines, locations in the DesktopServices::storageLocation() call that don't have de facto standard values on the OS/2 platform, are interpreted according to the XDG guidelines (used on Linux). The following table summarizes it (parenthesis contain the default if the value isn't explicitly specified):

location value
HomeLocation QDir::homePath()
TempLocation QDir::tempPath()
CacheLocation %XDG_CACHE_HOME% (%HOME%/.cache) [*1]
DataLocation %XDG_DATA_HOME% (%HOME%/.local/share) [*1]
DesktopLocation XDG_DESKTOP_DIR [*2] (WinQueryActiveDesktopPathname()))
DocumentsLocation XDG_DOCUMENTS_DIR [*2] (%HOME%/Documents)
PicturesLocation XDG_PICTURES_DIR [*2] (%HOME%/Pictures)
MusicLocation XDG_MUSIC_DIR [*2] (%HOME%/Music)
MoviesLocation XDG_VIDEOS_DIR [*2] (%HOME%/Videos)
ApplicationsLocation %PROGRAMS% (<boot_drv>:/PROGRAMS)
FontsLocation %FONTS% (<boot_drv>:/PSFONTS)

[*1] See http://standards.freedesktop.org/basedir-spec/basedir-spec-0.6.html for the full explanation.
[*2] See http://www.freedesktop.org/wiki/Software/xdg-user-dirs for the full explanation.

QDesktopServices::displayName() on OS/2 reurns nothing, same as on Windows and Linux.

QDesktopServices::openUrl() uses the HINI_USER_PROFILE\WPURLDEFAULTSETTINGS registry key to determine the default web browser, e-mail client and other supported applications. On a modern eCS system, that means that clicking URLs in Qt applications will open Firefox/Thunderbird out of the box.

If the URL to open is a local file or directory, WPS associations will be used to open it.

Note: See TracTickets for help on using tickets.