History log of /haiku-fatelf/src/preferences/media/MediaListItem.cpp
Revision Date Author Comments
# f437c10c 01-Jul-2012 Humdinger <humdingerb@gmail.com>

Small visual changes to left scroll view. Fixes #8659.

Fixed width of left scroll view.
Added padding to list items.
Thanks yourpalal for your hints.


# 62115b47 01-Jul-2012 Humdinger <humdingerb@gmail.com>

Automatic whitespace cleanup and coding style.


# d49e0a27 11-Jan-2011 Alex Wilson <yourpalal2@gmail.com>

In Media preflet: add an ItemWidth() method to MediaListItem::Renderer, which tells us how much space is needed onscreen for a MediaListItem. Use the new ItemWidth() method in MediaListItem::Update() to set our width. Add a MediaWindow::_UpdateListItemMinSize() method that uses the items' width to calculate the new explicit min width of our list view. This fixes a problem I saw with localized strings in the listview not being fully displayed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40207 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7afc7756 05-Jan-2011 Alex Wilson <yourpalal2@gmail.com>

In Media preflet:
* Modify MediaListItem to use the visitor pattern
* Use the visitor pattern for comparison of MediaListItem subclassed objects
* Use the visitor pattern in MediaWindow to propagate changes to NodeListItems.
* Rename and/or remove some message constants
* Rename SettingsItem class to NodeMenuItem
* Rename Settings2Item class to ChannelMenuItem
* Derive SettingsView from BGridView, and make it an abstract base class for two new classes, AudioSettingsView and VideoSettingsView.
* Have the SettingsView subclasses handle messages originating from their children (for the most part).
* Use a BCardLayout to hold our Audio/Video SettingsViews and our instantiated node view (when applicable).
* small changes


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40127 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e7b99741 15-Nov-2010 Alex Wilson <yourpalal2@gmail.com>

In Media preflet:
* Refactor MediaListItem into four/five classes:
* MediaListItem : abstract base class which provides an interface for
MediaWindow and MediaListItem subclasses
* NodeListItem : list item for media nodes
* DeviceListItem : list item for audio/video settings (device selection)
* MixerListItem : list item for the audio-mixer
* MediaListItem::Renderer : does the drawing of MediaListItems, which supply
render paramaters via a 'SetRenderParamaters()' method.
* Comparison of MediaListItems (for sorting) is done via double-dispatch
* MediaListItem provides a pure virtual AlterWindow() method, which removes the
burden of distinguishing between different behaviours from MediaWindow.
* Add methods to MediaWindow for the MediaListItems to call in their
AlterWindow() implementation, eg. SelectNode()
* Seperate code into these methods, as well as a few private utility methods.
* Add a RAII-style 'SmartNode' nested class for MediaWindow, which handles
watching/unwatching allocating/deallocating of media_nodes


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39433 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b63e3a34 28-Oct-2010 Alex Wilson <yourpalal2@gmail.com>

In Media preflet:
* Move icons to resource file.
* Add MediaIcons class to handle loading and storing the icons.
* Use a MediaIcons object in place of a BList for passing icons to our list items.
* Add IconHandles.h to hold an enum for identifying icons in/from our resource file.
* style fixes


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39180 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a633251f 30-Sep-2010 Alex Wilson <yourpalal2@gmail.com>

Big style cleanup in preparation for refactoring the media preflet and tackling #6544.
Fix one use of sscanf(...) > 0, where it ought to be sscanf(...) == 4.
Otherwise, no functional changes intended.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38865 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 269fdeef 13-Jan-2008 Jérôme Duval <korli@users.berlios.de>

style cleanup
whitespace => tab


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23505 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b4a12470 18-Feb-2006 Jérôme Duval <korli@users.berlios.de>

fixed naming of variables
fixed some font sensitiveness issues


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16462 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 758b1d0e 12-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
Otherwise the an inner class with that name is considered as friend.
gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a10cf76e 24-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

Renamed src/prefs to "preferences", as the directory is usually called in BeOS.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13263 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f437c10c48325acce0a27524dc34fa352b255074 01-Jul-2012 Humdinger <humdingerb@gmail.com>

Small visual changes to left scroll view. Fixes #8659.

Fixed width of left scroll view.
Added padding to list items.
Thanks yourpalal for your hints.


# 62115b47721b2659d5dd748cbd4d2dbc7900de4d 01-Jul-2012 Humdinger <humdingerb@gmail.com>

Automatic whitespace cleanup and coding style.


# d49e0a272c01332969c00f9cf16960c661baf277 11-Jan-2011 Alex Wilson <yourpalal2@gmail.com>

In Media preflet: add an ItemWidth() method to MediaListItem::Renderer, which tells us how much space is needed onscreen for a MediaListItem. Use the new ItemWidth() method in MediaListItem::Update() to set our width. Add a MediaWindow::_UpdateListItemMinSize() method that uses the items' width to calculate the new explicit min width of our list view. This fixes a problem I saw with localized strings in the listview not being fully displayed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40207 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7afc7756306b3fd9667d03fba787e3aa8b60cab5 05-Jan-2011 Alex Wilson <yourpalal2@gmail.com>

In Media preflet:
* Modify MediaListItem to use the visitor pattern
* Use the visitor pattern for comparison of MediaListItem subclassed objects
* Use the visitor pattern in MediaWindow to propagate changes to NodeListItems.
* Rename and/or remove some message constants
* Rename SettingsItem class to NodeMenuItem
* Rename Settings2Item class to ChannelMenuItem
* Derive SettingsView from BGridView, and make it an abstract base class for two new classes, AudioSettingsView and VideoSettingsView.
* Have the SettingsView subclasses handle messages originating from their children (for the most part).
* Use a BCardLayout to hold our Audio/Video SettingsViews and our instantiated node view (when applicable).
* small changes


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40127 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e7b99741803a2adf01f19b0fa59ac55b7bb45b19 15-Nov-2010 Alex Wilson <yourpalal2@gmail.com>

In Media preflet:
* Refactor MediaListItem into four/five classes:
* MediaListItem : abstract base class which provides an interface for
MediaWindow and MediaListItem subclasses
* NodeListItem : list item for media nodes
* DeviceListItem : list item for audio/video settings (device selection)
* MixerListItem : list item for the audio-mixer
* MediaListItem::Renderer : does the drawing of MediaListItems, which supply
render paramaters via a 'SetRenderParamaters()' method.
* Comparison of MediaListItems (for sorting) is done via double-dispatch
* MediaListItem provides a pure virtual AlterWindow() method, which removes the
burden of distinguishing between different behaviours from MediaWindow.
* Add methods to MediaWindow for the MediaListItems to call in their
AlterWindow() implementation, eg. SelectNode()
* Seperate code into these methods, as well as a few private utility methods.
* Add a RAII-style 'SmartNode' nested class for MediaWindow, which handles
watching/unwatching allocating/deallocating of media_nodes


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39433 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b63e3a348c4dccb50b34a67222bada4ea5b123ce 28-Oct-2010 Alex Wilson <yourpalal2@gmail.com>

In Media preflet:
* Move icons to resource file.
* Add MediaIcons class to handle loading and storing the icons.
* Use a MediaIcons object in place of a BList for passing icons to our list items.
* Add IconHandles.h to hold an enum for identifying icons in/from our resource file.
* style fixes


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39180 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a633251fba4685fcce5faba216eb5ee69fcc947f 30-Sep-2010 Alex Wilson <yourpalal2@gmail.com>

Big style cleanup in preparation for refactoring the media preflet and tackling #6544.
Fix one use of sscanf(...) > 0, where it ought to be sscanf(...) == 4.
Otherwise, no functional changes intended.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38865 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 269fdeefff71dbb13136f7404d612ed2e4284131 13-Jan-2008 Jérôme Duval <korli@users.berlios.de>

style cleanup
whitespace => tab


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23505 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b4a124700c73ba45cb0e323ffbc17d08669936c3 18-Feb-2006 Jérôme Duval <korli@users.berlios.de>

fixed naming of variables
fixed some font sensitiveness issues


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16462 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 758b1d0e05fe1042cce6e00d194a147802d4f9be 12-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
Otherwise the an inner class with that name is considered as friend.
gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a10cf76ef5b9e8c726ebc47183abd6943023cf8f 24-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

Renamed src/prefs to "preferences", as the directory is usually called in BeOS.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13263 a95241bf-73f2-0310-859d-f6bbb57e9c96