Matt Rogers schrieb:
> On Sunday 03 January 2010 05:33:19 am Frank Schaefer wrote:
>   
>> The problem is, that (AFAIK) subversion isn't capable of creating
>> offline patch-series.
>> That's why I used git, which is usually not a problem.
>> But for some unknown reasons, review-board doesn't accept them (even
>> after modifying them manually).
>>
>> So here they are as atachments.
>> All patches apply fine with "patch p1 < patchname" from kopetes'
>> root-directory.
>>
>> As I already mentioned, the main intention is to make the API for the
>> video-controls more flexible and functional.
>>
>> Some of the problems with the current code are:
>>  - only a fixed set of controls is supported
>>  - no possibility to determine if a control is really supported by a
>>    device
>>  - non-numeric controls (e.g. actions) are not supported
>>  - custom (driver-defined) controls are not supported
>>  - additional informations like default-/min-/max-values and required
>>    step-size are not available
>>  - problems: e.g. the V4L2-control V4L2_CID_HUE combines the two
>>    controls "hue" and "color" in a single control
>>
>> That's why I suggest the following changes:
>> - use IDs to identify/address the supported controls
>> - the values of controls can be querried/set with the new functions
>>      getControlValue(ctrl_ID, value)
>>      setControlValue(ctrl_ID, value)
>> - the controls supported by the device can be querried with 4 new
>>   functions, one of them for each group of controls (numeric, boolean,
>>   menus, actions). These functions return data structures which contain
>>   the control-ID, the title and additional informations (depending on
>>   the control-type).
>>
>> Some additional benefits are
>> - control-grouping makes GUI-design easier (different GUI-elements)
>> - controls can be reset to default-values
>> - the real (not normed) numeric value of a control can be displayed
>> - ...
>>
>>
>> There are still some things to do:
>> - reenable saving of the settings (loading is disabled in current runk,
>>   too !) After taking a deeper look into the loading-/saving-procedures,
>>   I noticed that there are many other problems...
>>   For example: devices should be identified by their uid, not their
>>   model-name !
>> - translation of the control-titles.
>>   I'm not yet familar with KDEs translation mechanism, but the only
>>   problem I see is the translation of custom (driver-specific) controls.
>>   We get them from the V4L2-API directly.
>> - Documentation
>>
>> Although the patches are working fine, they are mainly intended for
>> discussion about the general approach (so please don't complain about
>> whitespace-errors ;) )
>>
>> Comments are appreciated.
>>
>> Frank
>>     
>
>
> Please feel free to commit your patches to trunk now that you've got an SVN 
> account.
>   

Thanks, I will rebase and commit them tomorrow with some some minor
changes applied:
- use K- instead of Q-GUI-elements
- return value int instead of bool for getControlValue(), setControlValue()
- tr() => i18n()
- add + ":" to the titles of the controls
- fix whitespaces in IdGuiElements
- use m_name instead of _name for members in videodevice
- other mail address

Frank
_______________________________________________
kopete-devel mailing list
kopete-devel@kde.org
https://mail.kde.org/mailman/listinfo/kopete-devel

Reply via email to