Modified by: dyek real.com
Date: 2/22/2007
Project: Helix Player
Synopsis: Refactoring dynamic menu code; changes Favorites
to use ListStore
Overview:
This represents an attempt in refactoring common dynamic
menu code
between playlistdialog and mainapp into its own file.
It is also one step in breaking up the 6500+ lines
mainapp.cpp into
multiple files structure.
File Menu's Recent URLs and Playlist dialog box's new
Recent URLs
are already based on GtkListStore.
This checkin changes Favorites store from doubly-linked
list to
GtkListStore, so that all dynamic menu manipulation can
share the
same facility.
Using GtkListStore for all also enable MVC (Model View
Controller)
paradigm to work better.
In the future, save and load URLs from playlist file
formats can be done
by taking GtkListStore as input, enabling more code
sharing between
Playlist Dialog and Favorites.
Renamed the previous:
hmw_play_and_monitor()
to:
hx_dyn_menu_play_and_monitor_setup()
to reflect the usage more accurately.
Also, further simplied the mechanism to use a single
callback with
play_succeeded function argument.
This change also added saving and reloading of Title
metadata into
File Menu's Recent URLs.
This results in a change in [recent_urls] format in
~/.hxplayerrc and
~/.realplayerrc files.
These files need to be deleted (player reset) when
transitioning between
the existing players using the older format and newer
players using
different format. At least, the [recent_urls] section
needs to be removed.
Files Added:
player/app/gtk/dyn_menu.cpp
player/app/gtk/dyn_menu.h
player/app/gtk/mainapp-private.h - Enable multi-files access
to "private"
members
player/app/gtk/playlistdialog-private.h - Enable multi-files
access to
"private" members
Files Modified:
player/app/gtk/mainapp.cpp - Move dynamic menu code to
dyn_menu.cpp
player/app/gtk/mainapp.h
player/app/gtk/playlistdialog.cpp - Move dynamic menu code
to dyn_menu.cpp
player/app/gtk/playlistdialog.h - Added prototype.
player/app/gtk/Umakefil - Added new source file --
dyn_menu.cpp
player/app/gtk/commonapp.cpp - Save and reload Title
metadata from File Menu
Recent URLs.
player/app/gtk/favorites.cpp - Changed Favorites store
from doubly-linked
list to GtkListStore.
player/app/gtk/favorites.h - Changes to prototypes.
player/app/gtk/open.cpp - Trivial macro changes.
player/app/gtk/prefsdialog.cpp - Trivial function name
changes.
player/common/gtk/hxbasicplayback.c - Added comment.
Platforms and Profiles Affected:
Linux
Distribution Libraries Affected:
None.
Platforms and Profiles Build Verified:
Profile: helix_client_all_define
Platform: Fedora Core 5
Platforms and Profiles Functionality verified:
Profile: helix_client_all_define
Platform: Fedora Core 5
Branch: HEAD
Copyright assignment: I am a RealNetworks employee.
--
Daniel Yek
_______________________________________________
Player-dev mailing list
Player-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/play
er-dev
|