Skip to content

Windows with tabs - ie Device Property (General, Properties, Interface) right click a tab ("Properties") context menu "Copy all values" #2157

@TilKenneth

Description

@TilKenneth

Description of the feature, modification, idea or suggestion

In Windows with predominantly key-value style lists, such as in the main window, Devices tab, right click a device for the menu, select Properties menu item.

This window has 3 tabs, General, Properties and Interfaces (tab buttons). Left clicking a tab button hides 2 of the 3 window elements, depending on which tab button clicked.

The data is displayed in a structure similar to INI files, as in the General tab canvace for a Printer device.

[General]
Description=Local Print Queue
Problem Code=0
[Class]
Name=PrintQueue
Property page provider=printui.dll,PrinterPropPageProvider

This is a proposal.

Proposed implementation details (optional)

A common context menu enabled for tab buttons with above mentioned style of content key-value pairs.

The context menu will consist of options to copy all eligble key-value items from the GUI to a user choice.

As mentioned above, one option could be "Export to Simple HTML-table". In such case, "Export all tabs" would produce 1 <table>-element per tab. A predictable styling format should be included, but without accompanying stylesheet. This has 2 functions;

  1. Developers using HTML parsers can easily access any data element using XPath or alternatives.
  2. Ease of changing visual elements for accessibility readers.
  3. branding elements in case of reports, like example to highlight in a traffic-light color-scheme.
<table class="window window-device window-device-property category category-general">
<table class="window window-device window-device-property category category-class">

One can iterate each table in a HTML document, and the right table 'category', and subsequent query for 'category-*' as the last element, and permit only a-z where 1 or more space is replaced with 1 '_'. Ie, "The Génerals" -> "category-the_generals".
It is important that this value has to be last in the attribute, "category category-last_value".

For the web designers; this format is for containing data, design is optional.

An XML, this is expanded to include possible multi-select Device items in the Devices main window. The lang property defaults to the language for UICulture/User Interface language.

<SystemInformer lang="en-us">
  <Devices>
    <Device>
      <Properties>
        <Property>
          <Category index="0"><![CDATA[General]]></Category>
          <Data>
            <Name><![CDATA[Problem Code]]></Name>
            <Value><![CDATA[0]]></Value>
          </Data>
        </Property>
      </Properties>
    </Device>
  </Devices>
</SystemInformer>

Only forbidden data is the ]]> after <![CDATA[. This way multi-line and space formatted columns can be preserved.

For the CDATA questions and "i dont want to dig into an RFC right now"; https://stackoverflow.com/questions/2784183/what-does-cdata-in-xml-mean

In case of CSV/TSV, using the above mentioned INI-demonstration:

"Category","Name","Value"
"General","Description","Local Print Queue"
"General","Problem Code","0"
"Class","Name","PrintQueue"
"Class","Property page provider","printui.dll,PrinterPropPageProvider"

For clipboard there is format code
49369 ("HTML Format")
50349 ("Csv")
49790 ("XML Spreadsheet")
49314 ("Rich Text Format")
49158 ("FileName") 8.3/8dot3 full path
49159 ("FileNameW") full path
49471 ("UniformResourceLocatorW").

Full reference on MSDN Win32 -> Shell -> Clipboard

For graphs, the series displayed could be cached and additonally to above, Save as GIF or one-image-per-point "image-00001.ext", or an appropriate image format. Possibly the ffmpeg's "combine multiple input files" file format:

file "image-00001.ext"

See on Superuser.com Answer for Ffmpeg input image sequence: can I add arbitrary list of images to that?.

Thank you for your time.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions