#include <gtk/gtk.h>Include dependency graph for preferences_dialog.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
Defines | |
| #define | _PREFERENCES_DIALOG_H 1 |
Functions | |
| void | on_preferences_activate (GtkMenuItem *menuitem, gpointer user_data) |
| void | on_avc_phyid_activate (GtkMenuItem *menuitem, gpointer user_data) |
| void | on_radiobutton_avi1_clicked (GtkButton *button, gpointer user_data) |
| void | on_radiobutton_avi2_clicked (GtkButton *button, gpointer user_data) |
| void | on_radiobutton_rawdv_clicked (GtkButton *button, gpointer user_data) |
| void | on_preferences_dialog_ok_button_clicked (GtkButton *button, gpointer user_data) |
| void | on_preferences_dialog_cancel_button_clicked (GtkButton *button, gpointer user_data) |
| void | on_radiobutton_GDK_clicked (GtkButton *button, gpointer user_data) |
| void | on_radiobutton_XX_clicked (GtkButton *button, gpointer user_data) |
| void | on_radiobutton_XV_clicked (GtkButton *button, gpointer user_data) |
| void | on_button_capture_open_clicked (GtkButton *button, gpointer user_data) |
| gboolean | on_frame_jogshuttle_grab_frame_enter_notify_event (GtkWidget *widget, GdkEventCrossing *event, gpointer user_data) |
| gboolean | on_frame_jogshuttle_grab_frame_leave_notify_event (GtkWidget *widget, GdkEventCrossing *event, gpointer user_data) |
|
|
Definition at line 21 of file preferences_dialog.h. |
|
||||||||||||
|
Definition at line 411 of file preferences_dialog.cc. References Preferences::getInstance(). Referenced by on_preferences_activate(). 00412 {
00413 strncpy( Preferences::getInstance().avcGUID, (char *) user_data, 64 );
00414 }
|
|
||||||||||||
|
Definition at line 806 of file preferences_dialog.cc. References KinoCommon::getFileToSaveFormat(), and lookup_widget(). 00808 {
00809 int dummy = 0;
00810 char *filename = common->getFileToSaveFormat( _("Choose a DV file"), GTK_WIDGET(button), dummy );
00811 if ( filename && strcmp( filename, "" ) )
00812 {
00813 gtk_entry_set_text( GTK_ENTRY( lookup_widget( GTK_WIDGET( button ), "entry_file" ) ),
00814 filename );
00815 }
00816 }
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||
|
Definition at line 62 of file preferences_dialog.cc. References Preferences::_JogShuttleActions, Preferences::audioDevice, Preferences::audioScrub, Preferences::autoSplit, Preferences::avcGUID, AVI_DV1_FORMAT, AVI_DV2_FORMAT, Preferences::defaultAspect, Preferences::defaultAudio, Preferences::defaultDirectory, Preferences::defaultNormalisation, Preferences::disableKeyRepeat, DISPLAY_GDKRGB, DISPLAY_XV, DISPLAY_XX, Preferences::displayExtract, Preferences::displayMode, Preferences::displayQuality, Preferences::dropFrame, Preferences::dv1394Preview, Preferences::dvCaptureDevice, Preferences::dvDecoderClampChroma, Preferences::dvDecoderClampLuma, Preferences::dvTwoPassEncoder, Preferences::enableAudio, Preferences::enableJogShuttle, Preferences::enableV4L, Preferences::every, Preferences::expandStoryboard, Preferences::file, Preferences::fileFormat, Preferences::frames, JogShuttle::getInstance(), Preferences::getInstance(), Preferences::isOpenDML, media_ctrl_key::key, lookup_widget(), MAX_1394_PORTS, Preferences::maxFileSize, on_avc_phyid_activate(), on_optionmenu_jogshuttle_firstsecond_button_clicked(), Preferences::phyID, Preferences::preview_capture, QT_FORMAT, RAW_FORMAT, Preferences::relativeSave, Preferences::timeStamp, Preferences::trimModeInsert, Preferences::v4lAudio, Preferences::v4lAudioDevice, Preferences::v4lInput, and Preferences::v4lVideoDevice. 00064 {
00065 Preferences & prefs = Preferences::getInstance();
00066 gchar s[ 512 ];
00067 GtkWidget* glade_menu;
00068 GtkWidget* glade_menuitem;
00069 GtkWidget* widget;
00070 int currentNode, itemCount = 0, currentItem = 0;
00071 rom1394_directory rom1394_dir;
00072 glade_menu = gtk_menu_new ();
00073 static raw1394handle_t handle;
00074
00075 media_ctrl_key *mkeys;
00076
00077
00078 /* initialize temp variables, only use temp if Okay clicked and not cancel */
00079 gPrefsSelectedFileFormat = prefs.fileFormat;
00080 gPrefsDisplayMode = prefs.displayMode;
00081
00082 GtkWidget *dialog = lookup_widget( main_window, "preferences_dialog" );
00083 gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(main_window));
00084 widget = lookup_widget( dialog, "radiobutton_quicktime" );
00085 #ifdef HAVE_LIBQUICKTIME
00086 gtk_widget_show( widget );
00087 gtk_widget_set_sensitive( widget, 1 );
00088 #endif
00089
00090 switch ( prefs.fileFormat )
00091 {
00092 case AVI_DV1_FORMAT:
00093 widget = lookup_widget( dialog, "radiobutton_avi1" );
00094 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( widget ), 1 );
00095 break;
00096
00097 case AVI_DV2_FORMAT:
00098 widget = lookup_widget( dialog, "radiobutton_avi2" );
00099 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( widget ), 1 );
00100 break;
00101
00102 case RAW_FORMAT:
00103 widget = lookup_widget( dialog, "radiobutton_rawdv" );
00104 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( widget ), 1 );
00105 break;
00106
00107 case QT_FORMAT:
00108 widget = lookup_widget( dialog, "radiobutton_quicktime" );
00109 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( widget ), 1 );
00110 break;
00111
00112 }
00113
00114 widget = lookup_widget( dialog, "optionmenu_default_normalisation" );
00115 gtk_option_menu_set_history( GTK_OPTION_MENU( widget ), prefs.defaultNormalisation );
00116 widget = lookup_widget( dialog, "optionmenu_default_audio" );
00117 gtk_option_menu_set_history( GTK_OPTION_MENU( widget ), prefs.defaultAudio );
00118 widget = lookup_widget( dialog, "optionmenu_default_ratio" );
00119 gtk_option_menu_set_history( GTK_OPTION_MENU( widget ), prefs.defaultAspect );
00120
00121 widget = lookup_widget( dialog, "checkbutton_autosplit" );
00122 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( widget ), prefs.autoSplit );
00123 widget = lookup_widget( dialog, "checkbutton_timestamp" );
00124 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( widget ), prefs.timeStamp );
00125
00126 #ifndef HAVE_X11_EXTENSIONS_XVLIB_H
00127 gtk_widget_set_sensitive( lookup_widget( dialog, "radiobutton_XV" ), FALSE );
00128 gtk_widget_set_sensitive( lookup_widget( dialog, "radiobutton_XX" ), FALSE );
00129 #endif
00130
00131 switch ( prefs.displayMode )
00132 {
00133 case DISPLAY_XX:
00134 widget = lookup_widget( dialog, "radiobutton_XX" );
00135 break;
00136 case DISPLAY_XV:
00137 widget = lookup_widget( dialog, "radiobutton_XV" );
00138 break;
00139 case DISPLAY_GDKRGB:
00140 widget = lookup_widget( dialog, "radiobutton_GDK" );
00141 break;
00142 default:
00143 widget = lookup_widget( dialog, "radiobutton_GDK" );
00144 break;
00145 }
00146 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( widget ), TRUE );
00147
00148 widget = lookup_widget( dialog, "hscale_display_quality" );
00149 GtkAdjustment *displayQualityValue = gtk_range_get_adjustment( GTK_RANGE( widget ) );
00150 displayQualityValue->value = prefs.displayQuality;
00151 gtk_range_set_adjustment( GTK_RANGE( widget ), displayQualityValue );
00152
00153
00154 widget = lookup_widget( dialog, "entry_file" );
00155 gtk_entry_set_text( GTK_ENTRY( widget ), prefs.file );
00156 widget = lookup_widget( dialog, "entry_frames" );
00157 sprintf( s, "%d", prefs.frames );
00158 gtk_entry_set_text( GTK_ENTRY( widget ), s );
00159 widget = lookup_widget( dialog, "entry_every" );
00160 sprintf( s, "%d", prefs.every );
00161 gtk_entry_set_text( GTK_ENTRY( widget ), s );
00162 widget = lookup_widget( dialog, "entry_size" );
00163 sprintf( s, "%d", prefs.maxFileSize );
00164 gtk_entry_set_text( GTK_ENTRY( widget ), s );
00165
00166 #ifdef HAVE_IEC61883
00167 gtk_widget_hide( lookup_widget( dialog, "label114" ) );
00168 gtk_widget_hide( lookup_widget( dialog, "entry_dvcapture_device" ) );
00169 #else
00170 widget = lookup_widget( dialog, "entry_dvcapture_device" );
00171 gtk_entry_set_text( GTK_ENTRY( widget ), prefs.dvCaptureDevice );
00172 #endif
00173 widget = lookup_widget( dialog, "checkbutton_enable_audio" );
00174 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( widget ), prefs.enableAudio );
00175 widget = lookup_widget( dialog, "entry_audio_device" );
00176 gtk_entry_set_text( GTK_ENTRY( widget ), prefs.audioDevice );
00177 widget = lookup_widget( dialog, "checkbutton_preview_capture" );
00178 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( widget ), prefs.preview_capture );
00179 widget = lookup_widget( dialog, "checkbutton_drop_frame" );
00180 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( widget ), prefs.dropFrame );
00181 widget = lookup_widget( dialog, "checkbutton_enable_jogshuttle" );
00182 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( widget ), prefs.enableJogShuttle );
00183
00184 /* JogShuttle mappings */
00185 mkeys = JogShuttle::getInstance().getKeyset();
00186
00187 /* JogShuttle toggle signal handler */
00188 widget = lookup_widget( dialog, "checkbutton_enable_jogshuttle" );
00189 if ( widget )
00190 {
00191 g_signal_connect( G_OBJECT( widget ), "toggled",
00192 G_CALLBACK( on_checkbutton_jogshuttle_toggled ), NULL );
00193 }
00194
00195 /* Set callbacks for the optionmenus */
00196 widget = lookup_widget( dialog, "optionmenu_jogshuttle_first_button" );
00197 if ( mkeys != NULL ) {
00198
00199 GtkMenu *menu_new_k1 = GTK_MENU( gtk_menu_new( ) );
00200 GtkOptionMenu *omenu = GTK_OPTION_MENU( widget );
00201 GtkWidget *kitem;
00202
00203 if ( mkeys != NULL ) {
00204
00205 int mk = 0;
00206 while(mkeys[mk].key != 0) {
00207 kitem = gtk_menu_item_new_with_label ( mkeys[mk].name );
00208 gtk_widget_show( kitem );
00209 gtk_menu_append ( menu_new_k1, kitem );
00210 mk++;
00211 }
00212 gtk_menu_set_active( menu_new_k1, 0 );
00213 gtk_option_menu_set_menu( omenu, GTK_WIDGET( menu_new_k1 ) );
00214 }
00215
00216 g_signal_connect ( G_OBJECT ( GTK_OPTION_MENU ( widget ) ->menu ),
00217 "deactivate",
00218 G_CALLBACK ( on_optionmenu_jogshuttle_firstsecond_button_clicked ),
00219 NULL );
00220 }
00221
00222 widget = lookup_widget( dialog, "optionmenu_jogshuttle_second_button" );
00223 if ( mkeys != NULL ) {
00224
00225 GtkMenu *menu_new_k2 = GTK_MENU( gtk_menu_new( ) );
00226 GtkOptionMenu *omenu = GTK_OPTION_MENU( widget );
00227 GtkWidget *kitem;
00228
00229 kitem = gtk_menu_item_new_with_label ( _( "<none>" ) );
00230 gtk_widget_show( kitem );
00231 gtk_menu_append ( menu_new_k2, kitem );
00232
00233 // mkeys = JogShuttle::getInstance().getKeyset();
00234 int mk = 0;
00235 if ( mkeys != NULL ) {
00236 while(mkeys[mk].key != 0) {
00237 kitem = gtk_menu_item_new_with_label ( mkeys[mk].name );
00238 gtk_widget_show( kitem );
00239 gtk_menu_append ( menu_new_k2, kitem );
00240 mk++;
00241 }
00242 }
00243 gtk_menu_set_active( menu_new_k2, 0 );
00244 gtk_option_menu_set_menu( omenu, GTK_WIDGET( menu_new_k2 ) );
00245
00246 g_signal_connect ( G_OBJECT ( GTK_OPTION_MENU ( widget ) ->menu ),
00247 "deactivate",
00248 G_CALLBACK ( on_optionmenu_jogshuttle_firstsecond_button_clicked ),
00249 NULL );
00250 }
00251
00252
00253 /* Setup the callback from the JogShuttle, used to grab jogshuttle keyboard
00254 presses */
00255 JogShuttle::getInstance().registerCallback( static_cast<void *>( widget ),
00256 jogshuttle_input_callback );
00257
00258 widget = lookup_widget( dialog, "optionmenu_jogshuttle_action" );
00259 if ( mkeys == NULL ) gtk_widget_set_sensitive( GTK_WIDGET( widget ), false );
00260
00261
00262 /* Fill the action menu. Get the content from the preferences */
00263 Preferences &pref = Preferences::getInstance();
00264 GtkOptionMenu *menu = GTK_OPTION_MENU( widget );
00265 GtkMenu *menu_new = GTK_MENU( gtk_menu_new( ) );
00266 string caption;
00267 GtkWidget *item;
00268 for ( unsigned int i = 0; i < pref._JogShuttleActions.size() ; i++ )
00269 {
00270 caption = pref._JogShuttleActions[ i ]._short_desc;
00271 if ( _( "<none>" ) != caption )
00272 {
00273 caption +=
00274 " (" + pref._JogShuttleActions[ i ]._action + ")";
00275 }
00276 item = gtk_menu_item_new_with_label ( caption.c_str() );
00277 gtk_widget_show( item );
00278 gtk_menu_append ( menu_new, item );
00279 }
00280 gtk_menu_set_active( menu_new, 0 );
00281 gtk_option_menu_set_menu( menu, GTK_WIDGET( menu_new ) );
00282
00283 g_signal_connect ( G_OBJECT ( GTK_OPTION_MENU ( widget ) ->menu ),
00284 "deactivate",
00285 G_CALLBACK ( on_optionmenu_jogshuttle_action_clicked ),
00286 NULL );
00287
00288 // Make sure the menus match
00289 widget = lookup_widget( dialog, "optionmenu_jogshuttle_first_button" );
00290 on_optionmenu_jogshuttle_firstsecond_button_clicked( GTK_BUTTON ( widget ),
00291 widget );
00292
00293
00294 widget = lookup_widget( dialog, "checkbutton_disable_key_repeat" );
00295 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( widget ), prefs.disableKeyRepeat );
00296 widget = lookup_widget( dialog, "checkbutton_dv_clamp_luma" );
00297 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( widget ), prefs.dvDecoderClampLuma );
00298 widget = lookup_widget( dialog, "checkbutton_dv_clamp_chroma" );
00299 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( widget ), prefs.dvDecoderClampChroma );
00300 widget = lookup_widget( dialog, "checkbutton_audio_scrub" );
00301 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( widget ), prefs.audioScrub );
00302 widget = lookup_widget( dialog, "checkbutton_avi_opendml" );
00303 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( widget ), prefs.isOpenDML );
00304 widget = lookup_widget( dialog, "entry_default_dir" );
00305 gtk_entry_set_text( GTK_ENTRY( widget ), prefs.defaultDirectory );
00306 widget = lookup_widget( dialog, "optionmenu_extract" );
00307 gtk_option_menu_set_history( GTK_OPTION_MENU( widget ), prefs.displayExtract );
00308 widget = lookup_widget( dialog, "checkbutton_relative" );
00309 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( widget ), prefs.relativeSave );
00310
00311 widget = lookup_widget( dialog, "optionmenu_avc_phyid" );
00312
00313 #ifdef HAVE_DV1394
00314 gtk_widget_hide_all( lookup_widget( dialog, "hbox_ieee1394_warning" ) );
00315 #endif
00316 if ( ( handle = raw1394_new_handle() ) )
00317 {
00318 raw1394_portinfo ports[MAX_1394_PORTS];
00319 int totalPorts = raw1394_get_port_info( handle, ports, MAX_1394_PORTS );
00320
00321 gtk_widget_hide_all( lookup_widget( dialog, "hbox_ieee1394_warning" ) );
00322 raw1394_destroy_handle( handle );
00323 handle = NULL;
00324
00325 for (int port = 0; port < totalPorts; port++ )
00326 {
00327 if ( ( handle = raw1394_new_handle_on_port( port ) ) )
00328 {
00329 for ( currentNode = 0; currentNode < raw1394_get_nodecount( handle ); currentNode++ )
00330 {
00331 if ( rom1394_get_directory( handle, currentNode, &rom1394_dir ) >= 0 )
00332 {
00333 if ( ( rom1394_get_node_type( &rom1394_dir ) == ROM1394_NODE_TYPE_AVC ) &&
00334 avc1394_check_subunit_type( handle, currentNode, AVC1394_SUBUNIT_TYPE_VCR ) )
00335 {
00336 octlet_t currentGUID = rom1394_get_guid( handle, currentNode );
00337 char currentGUIDStr[ 65 ];
00338
00339 snprintf( currentGUIDStr, 64, "%08x%08x", ( quadlet_t ) ( currentGUID >> 32 ),
00340 ( quadlet_t ) ( currentGUID & 0xffffffff ) );
00341 currentGUIDStr[64] = 0;
00342
00343 if ( rom1394_dir.label == NULL )
00344 glade_menuitem = gtk_menu_item_new_with_label ( currentGUIDStr );
00345 else
00346 glade_menuitem = gtk_menu_item_new_with_label ( rom1394_dir.label );
00347
00348 gtk_widget_show ( glade_menuitem );
00349 gtk_menu_append ( GTK_MENU ( glade_menu ), glade_menuitem );
00350 g_signal_connect ( G_OBJECT ( glade_menuitem ), "activate",
00351 G_CALLBACK ( on_avc_phyid_activate ),
00352 ( gpointer ) strdup(currentGUIDStr) );
00353 // TODO: free the duplicated string on re-entrance and destruction
00354
00355 // default the phyID to the first AVC node found
00356 if ( strcmp( prefs.avcGUID, "" ) == 0 )
00357 {
00358 prefs.phyID = currentNode;
00359 strncpy( prefs.avcGUID, currentGUIDStr, 64 );
00360 currentItem = itemCount;
00361 }
00362 else if ( strncmp( currentGUIDStr, prefs.avcGUID, 64 ) == 0 )
00363 {
00364 prefs.phyID = currentNode;
00365 currentItem = itemCount;
00366 }
00367 itemCount++;
00368 }
00369 rom1394_free_directory( &rom1394_dir );
00370 }
00371 }
00372 raw1394_destroy_handle( handle );
00373 handle = NULL;
00374 }
00375 }
00376 }
00377
00378 gtk_option_menu_set_menu ( GTK_OPTION_MENU ( widget ), glade_menu );
00379 gtk_option_menu_set_history( GTK_OPTION_MENU( widget ), currentItem );
00380 widget = lookup_widget( dialog, "checkbutton_v4l" );
00381 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( widget ), prefs.enableV4L );
00382 widget = lookup_widget( dialog, "entry_v4l_device" );
00383 gtk_entry_set_text( GTK_ENTRY( widget ), prefs.v4lVideoDevice );
00384 widget = lookup_widget( dialog, "combo_entry_tv_input" );
00385 gtk_entry_set_text( GTK_ENTRY( widget ), prefs.v4lInput );
00386 widget = lookup_widget( dialog, "entry_v4l_audio_device" );
00387 gtk_entry_set_text( GTK_ENTRY( widget ), prefs.v4lAudioDevice );
00388 widget = lookup_widget( dialog, "combo_entry_sample_rate" );
00389 gtk_entry_set_text( GTK_ENTRY( widget ), prefs.v4lAudio );
00390
00391 widget = lookup_widget( dialog, "checkbutton_dv1394_preview" );
00392 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( widget ), prefs.dv1394Preview );
00393 widget = lookup_widget( dialog, "checkbutton_two_pass" );
00394 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( widget ), prefs.dvTwoPassEncoder );
00395 widget = lookup_widget( dialog, "checkbutton_expand_storyboard" );
00396 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( widget ), prefs.expandStoryboard );
00397 widget = lookup_widget( dialog, "checkbutton_trim_mode_insert" );
00398 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( widget ), prefs.trimModeInsert );
00399
00400 #ifdef HAVE_LIBAVCODEC
00401 gtk_widget_hide( lookup_widget( dialog, "vbox_display_decoder" ) );
00402 gtk_widget_hide( lookup_widget( dialog, "checkbutton_two_pass" ) );
00403 #endif
00404
00405 gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog), GTK_RESPONSE_HELP, GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL, -1);
00406 gtk_widget_show( dialog );
00407 }
|
|
||||||||||||
|
Definition at line 796 of file preferences_dialog.cc. References JogShuttle::getInstance(). 00797 {
00798 /* Remove the input callback */
00799 JogShuttle::getInstance().deregisterCallback();
00800 GtkWidget *dialog = gtk_widget_get_toplevel( GTK_WIDGET( button ) );
00801 gtk_widget_hide( dialog );
00802 }
|
|
||||||||||||
|
Definition at line 670 of file preferences_dialog.cc. References KinoCommon::activateWidgets(), Preferences::audioDevice, Preferences::audioScrub, Preferences::autoSplit, Preferences::defaultAspect, Preferences::defaultAudio, Preferences::defaultDirectory, Preferences::defaultNormalisation, Preferences::disableKeyRepeat, Preferences::displayExtract, Preferences::displayMode, Preferences::displayQuality, Preferences::dropFrame, Preferences::dv1394Preview, Preferences::dvCaptureDevice, Preferences::dvDecoderClampChroma, Preferences::dvDecoderClampLuma, Preferences::dvExportDevice, Preferences::dvTwoPassEncoder, Preferences::enableAudio, Preferences::enableJogShuttle, Preferences::enableV4L, Preferences::every, Preferences::expandStoryboard, Preferences::file, Preferences::fileFormat, Preferences::frames, KinoCommon::getCurrentPage(), JogShuttle::getInstance(), Preferences::getInstance(), Preferences::isOpenDML, lookup_widget(), Preferences::maxFileSize, KinoCommon::moveToFrame(), Preferences::preview_capture, QT_FORMAT, Preferences::relativeSave, Preferences::Save(), Preferences::timeStamp, Preferences::trimModeInsert, Preferences::v4lAudio, Preferences::v4lAudioDevice, Preferences::v4lInput, and Preferences::v4lVideoDevice. 00671 {
00672 Preferences & prefs = Preferences::getInstance();
00673 GtkWidget *dialog = gtk_widget_get_toplevel( GTK_WIDGET( button ) );
00674 GtkWidget *widget = lookup_widget( dialog, "checkbutton_autosplit" );
00675
00676 prefs.autoSplit = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( widget ) );
00677
00678 #ifdef HAVE_LIBQUICKTIME
00679 widget = lookup_widget( dialog, "radiobutton_quicktime" );
00680 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( widget ) ) )
00681 gPrefsSelectedFileFormat = QT_FORMAT;
00682 #endif
00683
00684 widget = gtk_option_menu_get_menu( GTK_OPTION_MENU( lookup_widget( dialog, "optionmenu_default_normalisation" ) ) );
00685 GtkWidget *active_item = gtk_menu_get_active( GTK_MENU( widget ) );
00686 prefs.defaultNormalisation = g_list_index ( GTK_MENU_SHELL ( widget ) ->children, active_item );
00687
00688 widget = gtk_option_menu_get_menu( GTK_OPTION_MENU( lookup_widget( dialog, "optionmenu_default_audio" ) ) );
00689 active_item = gtk_menu_get_active( GTK_MENU( widget ) );
00690 prefs.defaultAudio = g_list_index ( GTK_MENU_SHELL ( widget ) ->children, active_item );
00691
00692 widget = gtk_option_menu_get_menu( GTK_OPTION_MENU( lookup_widget( dialog, "optionmenu_default_ratio" ) ) );
00693 active_item = gtk_menu_get_active( GTK_MENU( widget ) );
00694 prefs.defaultAspect = g_list_index ( GTK_MENU_SHELL ( widget ) ->children, active_item );
00695
00696 widget = lookup_widget( dialog, "checkbutton_timestamp" );
00697 prefs.timeStamp = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( widget ) );
00698 widget = lookup_widget( dialog, "entry_file" );
00699 strcpy( prefs.file, gtk_entry_get_text( GTK_ENTRY( widget ) ) );
00700 widget = lookup_widget( dialog, "entry_frames" );
00701 prefs.frames = atoi( gtk_entry_get_text( GTK_ENTRY( widget ) ) );
00702 if ( prefs.frames < 0 )
00703 prefs.frames = 7000;
00704 widget = lookup_widget( dialog, "entry_every" );
00705 prefs.every = atoi( gtk_entry_get_text( GTK_ENTRY( widget ) ) );
00706 if ( prefs.every <= 0 )
00707 prefs.every = 1;
00708 widget = lookup_widget( dialog, "entry_size" );
00709 prefs.maxFileSize = atoi( gtk_entry_get_text( GTK_ENTRY( widget ) ) );
00710 if ( prefs.maxFileSize < 0 )
00711 prefs.maxFileSize = 2000;
00712 #ifndef HAVE_LIBAVCODEC
00713 GtkAdjustment *displayQualityValue;
00714 widget = lookup_widget( dialog, "hscale_display_quality" );
00715 displayQualityValue = gtk_range_get_adjustment( GTK_RANGE( widget ) );
00716 if ( int( gtk_adjustment_get_value( displayQualityValue ) ) != prefs.displayQuality )
00717 {
00718 prefs.displayQuality = int( gtk_adjustment_get_value( displayQualityValue ) );
00719 common->moveToFrame();
00720 }
00721 #endif
00722 #ifdef HAVE_DV1394
00723 widget = lookup_widget( dialog, "entry_dvcapture_device" );
00724 strcpy( prefs.dvCaptureDevice, gtk_entry_get_text( GTK_ENTRY( widget ) ) );
00725 strcpy( prefs.dvExportDevice, gtk_entry_get_text( GTK_ENTRY( widget ) ) );
00726 #endif
00727 widget = lookup_widget( dialog, "checkbutton_enable_audio" );
00728 prefs.enableAudio = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( widget ) );
00729 widget = lookup_widget( dialog, "entry_audio_device" );
00730 strcpy( prefs.audioDevice, gtk_entry_get_text( GTK_ENTRY( widget ) ) );
00731 widget = lookup_widget( dialog, "checkbutton_preview_capture" );
00732 prefs.preview_capture = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( widget ) );
00733 widget = lookup_widget( dialog, "checkbutton_drop_frame" );
00734 prefs.dropFrame = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( widget ) );
00735 widget = lookup_widget( dialog, "checkbutton_enable_jogshuttle" );
00736 prefs.enableJogShuttle = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( widget ) );
00737
00738 /* Deregister callback */
00739 JogShuttle::getInstance().deregisterCallback();
00740
00741 widget = lookup_widget( dialog, "checkbutton_disable_key_repeat" );
00742 prefs.disableKeyRepeat = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( widget ) );
00743 widget = lookup_widget( dialog, "checkbutton_dv_clamp_luma" );
00744 prefs.dvDecoderClampLuma = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( widget ) );
00745 widget = lookup_widget( dialog, "checkbutton_dv_clamp_chroma" );
00746 prefs.dvDecoderClampChroma = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( widget ) );
00747 widget = lookup_widget( dialog, "checkbutton_audio_scrub" );
00748 prefs.audioScrub = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( widget ) );
00749 widget = lookup_widget( dialog, "checkbutton_v4l" );
00750 prefs.enableV4L = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( widget ) );
00751 widget = lookup_widget( dialog, "entry_v4l_device" );
00752 strcpy( prefs.v4lVideoDevice, gtk_entry_get_text( GTK_ENTRY( widget ) ) );
00753 widget = lookup_widget( dialog, "combo_entry_tv_input" );
00754 strcpy( prefs.v4lInput, gtk_entry_get_text( GTK_ENTRY( widget ) ) );
00755 widget = lookup_widget( dialog, "entry_v4l_audio_device" );
00756 strcpy( prefs.v4lAudioDevice, gtk_entry_get_text( GTK_ENTRY( widget ) ) );
00757 widget = lookup_widget( dialog, "combo_entry_sample_rate" );
00758 strcpy( prefs.v4lAudio, gtk_entry_get_text( GTK_ENTRY( widget ) ) );
00759 widget = lookup_widget( dialog, "checkbutton_avi_opendml" );
00760 prefs.isOpenDML = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( widget ) );
00761 widget = gtk_option_menu_get_menu( GTK_OPTION_MENU( lookup_widget( dialog, "optionmenu_extract" ) ) );
00762 active_item = gtk_menu_get_active( GTK_MENU( widget ) );
00763 prefs.displayExtract = g_list_index( GTK_MENU_SHELL( widget )->children, active_item );
00764 widget = lookup_widget( dialog, "checkbutton_relative" );
00765 prefs.relativeSave = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( widget ) );
00766
00767 widget = lookup_widget( dialog, "entry_default_dir" );
00768 strcpy( prefs.defaultDirectory, gtk_entry_get_text( GTK_ENTRY( widget ) ) );
00769 if ( prefs.defaultDirectory[ strlen( prefs.defaultDirectory ) - 1 ] != '/' )
00770 strcat( prefs.defaultDirectory, "/" );
00771
00772 widget = lookup_widget( dialog, "checkbutton_dv1394_preview" );
00773 prefs.dv1394Preview = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( widget ) );
00774 #ifndef HAVE_LIBAVCODEC
00775 widget = lookup_widget( dialog, "checkbutton_two_pass" );
00776 prefs.dvTwoPassEncoder = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( widget ) );
00777 #endif
00778 widget = lookup_widget( dialog, "checkbutton_expand_storyboard" );
00779 prefs.expandStoryboard = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( widget ) );
00780 widget = lookup_widget( dialog, "checkbutton_trim_mode_insert" );
00781 prefs.trimModeInsert = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( widget ) );
00782
00783 prefs.fileFormat = gPrefsSelectedFileFormat;
00784 prefs.displayMode = gPrefsDisplayMode;
00785
00786 prefs.Save();
00787 gtk_widget_hide( dialog );
00788
00789 common->getCurrentPage() ->clean();
00790 common->activateWidgets();
00791 common->getCurrentPage() ->start();
00792 }
|
|
||||||||||||
|
Definition at line 417 of file preferences_dialog.cc. References AVI_DV1_FORMAT. 00419 {
00420 gPrefsSelectedFileFormat = AVI_DV1_FORMAT;
00421 }
|
|
||||||||||||
|
Definition at line 425 of file preferences_dialog.cc. References AVI_DV2_FORMAT. 00427 {
00428 gPrefsSelectedFileFormat = AVI_DV2_FORMAT;
00429 }
|
|
||||||||||||
|
Definition at line 453 of file preferences_dialog.cc. References DISPLAY_GDKRGB. 00455 {
00456 gPrefsDisplayMode = DISPLAY_GDKRGB;
00457 }
|
|
||||||||||||
|
Definition at line 432 of file preferences_dialog.cc. References RAW_FORMAT. 00434 {
00435 gPrefsSelectedFileFormat = RAW_FORMAT;
00436 }
|
|
||||||||||||
|
Definition at line 446 of file preferences_dialog.cc. References DISPLAY_XV. 00448 {
00449 gPrefsDisplayMode = DISPLAY_XV;
00450 }
|
|
||||||||||||
|
Definition at line 439 of file preferences_dialog.cc. References DISPLAY_XX. 00441 {
00442 gPrefsDisplayMode = DISPLAY_XX;
00443 }
|
1.4.2