-trigger the extended-panel to collapse completely before saving its position
-save the prefs, if the extended-panel changed them previously (refs #382)
* extended.m: minor cleanups to make the stuff above possible (more cleanup needed, will follow later on)
* extended.nib & #.m: don't let the normvol-slider become zero, but use floats from 0.1 to 10.0 only
<key>IBEditorPositions</key>
<dict>
<key>13</key>
<key>IBEditorPositions</key>
<dict>
<key>13</key>
- <string>506 668 390 138 0 0 1440 878 </string>
+ <string>525 535 390 138 0 0 1440 878 </string>
<key>32</key>
<string>525 487 390 233 0 0 1440 878 </string>
<key>5</key>
<key>32</key>
<string>525 487 390 233 0 0 1440 878 </string>
<key>5</key>
<array>
<integer>18</integer>
<integer>32</integer>
<array>
<integer>18</integer>
<integer>32</integer>
</array>
<key>IBSystem Version</key>
<string>8C46</string>
</array>
<key>IBSystem Version</key>
<string>8C46</string>
BOOL o_adjImg_expanded;
BOOL o_audFlts_expanded;
BOOL o_vidFlts_expanded;
BOOL o_adjImg_expanded;
BOOL o_audFlts_expanded;
BOOL o_vidFlts_expanded;
+
+ BOOL o_config_changed;
}
- (IBAction)adjImg_Enbl:(id)sender;
}
- (IBAction)adjImg_Enbl:(id)sender;
- (IBAction)vidFlts_mrInfo:(id)sender;
+ (VLCExtended *)sharedInstance;
- (IBAction)vidFlts_mrInfo:(id)sender;
+ (VLCExtended *)sharedInstance;
+- (BOOL)getConfigChanged;
+- (void)collapsAll;
- (void)showPanel;
- (void)initStrings;
- (void)showPanel;
- (void)initStrings;
+- (void)collapsAll
+{
+ /* collaps all views so Cocoa saves the window position correctly */
+ if( o_adjImg_expanded )
+ {
+ [self extWin_exp_adjImg: nil];
+ }
+ if( o_audFlts_expanded )
+ {
+ [self extWin_exp_audFlts: nil];
+ }
+ if( o_vidFlts_expanded )
+ {
+ [self extWin_exp_vidFlts: nil];
+ }
+}
+
+- (BOOL)getConfigChanged
+{
+ return o_config_changed;
+}
+
- (void)showPanel
{
/* get the correct slider values from the prefs, in case they were changed
- (void)showPanel
{
/* get the correct slider values from the prefs, in case they were changed
[o_sld_gamma setIntValue: (int)(10 * f_value) ];
}
[o_sld_gamma setIntValue: (int)(10 * f_value) ];
}
- [o_sld_maxLevel setFloatValue: (config_GetFloat(p_intf, "norm-max-level") \
- * 10)];
+ f_value = config_GetFloat( p_intf, "norm-max-level" );
+ if( f_value > 0 && f_value < 10 )
+ {
+ [o_sld_maxLevel setFloatValue: f_value ];
+ }
[o_sld_opaque setFloatValue: (config_GetFloat( p_intf, \
"macosx-opaqueness") * 100)];
[o_sld_opaque setFloatValue: (config_GetFloat( p_intf, \
"macosx-opaqueness") * 100)];
}
vlc_object_release( p_vout );
}
}
vlc_object_release( p_vout );
}
+
+ o_config_changed = YES;
}
/* change the opaqueness of the vouts */
}
/* change the opaqueness of the vouts */
config_PutFloat( p_playlist , "macosx-opaqueness" , val.f_float );
vlc_object_release( p_playlist );
config_PutFloat( p_playlist , "macosx-opaqueness" , val.f_float );
vlc_object_release( p_playlist );
+
+ o_config_changed = YES;
}
- (IBAction)audFtls_hdphnVirt:(id)sender
}
- (IBAction)audFtls_hdphnVirt:(id)sender
VLC_OBJECT_AOUT, FIND_ANYWHERE);
if( p_aout != NULL )
{
VLC_OBJECT_AOUT, FIND_ANYWHERE);
if( p_aout != NULL )
{
- var_SetFloat( p_aout, "norm-max-level", [o_sld_maxLevel floatValue] / 10 );
+ var_SetFloat( p_aout, "norm-max-level", [o_sld_maxLevel floatValue] );
vlc_object_release( p_aout );
}
vlc_object_release( p_aout );
}
- else
- {
- config_PutFloat( p_intf, "norm-max-level", [o_sld_maxLevel floatValue] /10 );
- }
+ config_PutFloat( p_intf, "norm-max-level", [o_sld_maxLevel floatValue] );
+
+ o_config_changed = YES;
}
- (IBAction)audFtls_vlmeNorm:(id)sender
}
- (IBAction)audFtls_vlmeNorm:(id)sender
+
+ o_config_changed = YES;
}
- (void)changeAFiltersString: (char *)psz_name onOrOff: (vlc_bool_t )b_add;
{
}
- (void)changeAFiltersString: (char *)psz_name onOrOff: (vlc_bool_t )b_add;
{
+ /* copied from ../wxwidgets/extrapanel.cpp
+ * renamed to conform with Cocoa's rules */
+
char *psz_parser, *psz_string;
intf_thread_t * p_intf = VLCIntf;
aout_instance_t * p_aout= (aout_instance_t *)vlc_object_find(p_intf,
char *psz_parser, *psz_string;
intf_thread_t * p_intf = VLCIntf;
aout_instance_t * p_aout= (aout_instance_t *)vlc_object_find(p_intf,
vlc_object_release( p_aout );
}
free( psz_string );
vlc_object_release( p_aout );
}
free( psz_string );
+
+ o_config_changed = YES;
FIND_ANYWHERE );
int returnedValue;
FIND_ANYWHERE );
int returnedValue;
+ /* FIXME: we should only save the settings actually changed in this panel
+ * and no other. This would make the termination much quicker and is better
+ * for people who are using cmd-line-options (trac #382) -- FK (10/6/05) */
returnedValue = config_SaveConfigFile( p_playlist, NULL);
if (returnedValue == 0)
{
returnedValue = config_SaveConfigFile( p_playlist, NULL);
if (returnedValue == 0)
{
}
vlc_object_release( p_playlist );
}
}
vlc_object_release( p_playlist );
}
-
-
-/*****************************************************************************
- * delegate method
- *****************************************************************************/
-
-- (BOOL)applicationShouldTerminate:(NSWindow *)sender
-{
- /* collaps all views so Cocoa saves the window position correctly */
- if( o_adjImg_expanded )
- {
- [self extWin_exp_adjImg: nil];
- }
- if( o_audFlts_expanded )
- {
- [self extWin_exp_audFlts: nil];
- }
- if( o_vidFlts_expanded )
- {
- [self extWin_exp_vidFlts: nil];
- }
-
- /* save the prefs before shutting down */
- [self savePrefs];
-
- return YES;
-}
nib_main_loaded = TRUE;
}
nib_main_loaded = TRUE;
}
-- (void)dealloc
-{
- [o_about release];
- [o_prefs release];
- [o_open release];
- [o_extended release];
- [o_bookmarks release];
-
- [super dealloc];
-}
-
- (void)initStrings
{
[o_window setTitle: _NS("VLC - Controller")];
- (void)initStrings
{
[o_window setTitle: _NS("VLC - Controller")];
+ /* save the prefs if they were changed in the extended panel */
+ if (o_extended && [o_extended getConfigChanged])
+ {
+ [o_extended savePrefs];
+ }
+
+ /* release some other objects here, because it isn't sure whether dealloc
+ * will be called later on -- FK (10/6/05) */
+ if ( o_about )
+ [o_about release];
+
+ if ( o_prefs )
+ [o_prefs release];
+
+ if ( o_open )
+ [o_open release];
+
+ if ( o_extended )
+ {
+ [o_extended collapsAll];
+ [o_extended release];
+ }
+
+ if ( o_bookmarks )
+ [o_bookmarks release];
+
+ if ( o_wizard )
+ [o_wizard release];
+
/* write cached user defaults to disk */
[[NSUserDefaults standardUserDefaults] synchronize];
/* write cached user defaults to disk */
[[NSUserDefaults standardUserDefaults] synchronize];