]> git.sesse.net Git - vlc/commitdiff
* Added delay and alignment to wx subtitles dialog
authorClément Stenac <zorglub@videolan.org>
Sun, 3 Oct 2004 11:52:25 +0000 (11:52 +0000)
committerClément Stenac <zorglub@videolan.org>
Sun, 3 Oct 2004 11:52:25 +0000 (11:52 +0000)
* Fixed a tooltip
* Removed a debug message

modules/gui/wxwindows/open.cpp
modules/gui/wxwindows/subtitles.cpp
modules/gui/wxwindows/wxwindows.h
src/input/input.c

index d9b725ee960ca9d3bf1d47571bddbfd122f4ad70..d647496f605ab3a0695e7c2851545fda989dca23 100644 (file)
@@ -1280,11 +1280,17 @@ void OpenDialog::OnSubsFileSettings( wxCommandEvent& WXUNUSED(event) )
         if( subsfile_dialog->encoding_combo )
             subsfile_mrl.Add( wxString(wxT("subsdec-encoding=")) +
                               subsfile_dialog->encoding_combo->GetValue() );
+        subsfile_mrl.Add( wxString::Format(wxT("subsdec-align=%i"),
+                           (int)subsfile_dialog->align_combo->GetClientData(
+                           subsfile_dialog->align_combo->GetSelection()) ) );
+
         subsfile_mrl.Add( wxString::Format( wxT("freetype-rel-fontsize=%i"),
                           (int)subsfile_dialog->size_combo->GetClientData(
                           subsfile_dialog->size_combo->GetSelection()) ) );
         subsfile_mrl.Add( wxString::Format( wxT("sub-fps=%i"),
                           subsfile_dialog->fps_spinctrl->GetValue() ) );
+        subsfile_mrl.Add( wxString::Format( wxT("sub-delay=%i"),
+                          subsfile_dialog->delay_spinctrl->GetValue() ) );
     }
 }
 
index 0989f715496dd4260c4625e9f1222a491b2dd68b..0984f4af6663f2ccb8b35e929957c042c5d59a29 100644 (file)
@@ -126,7 +126,7 @@ SubsFileDialog::SubsFileDialog( intf_thread_t *_p_intf, wxWindow* _p_parent ):
         encoding_combo->SetToolTip( wxU(p_item->psz_longtext) );
 
         enc_sizer->Add( label, 0, wxALL | wxALIGN_CENTER, 5 );
-        enc_sizer->Add( encoding_combo, 0, wxALL | wxALIGN_CENTER, 5 );
+        enc_sizer->Add( encoding_combo, 0, wxEXPAND | wxALL | wxALIGN_CENTER, 5 );
         enc_sizer_sizer->Add( enc_sizer, 1, wxEXPAND | wxALL, 5 );
         panel_sizer->Add( enc_sizer, 0, wxEXPAND | wxALL, 5 );
     }
@@ -137,7 +137,9 @@ SubsFileDialog::SubsFileDialog( intf_thread_t *_p_intf, wxWindow* _p_parent ):
                                              wxU(_("Subtitles options")) );
 
     wxStaticBoxSizer *misc_sizer = new wxStaticBoxSizer( misc_box,
-                                                         wxHORIZONTAL );
+                                                         wxVERTICAL );
+
+    wxFlexGridSizer *grid_sizer = new wxFlexGridSizer( 2, 1, 20 );
 
     /* Font size */
     p_item =
@@ -163,13 +165,47 @@ SubsFileDialog::SubsFileDialog( intf_thread_t *_p_intf, wxWindow* _p_parent ):
             }
         }
 
-        encoding_combo->SetToolTip( wxU(p_item->psz_longtext) );
+        size_combo->SetToolTip( wxU(p_item->psz_longtext) );
+
+        size_sizer->Add( label, 0,  wxRIGHT | wxALIGN_CENTER, 5 );
+        size_sizer->Add( size_combo, 0, wxLEFT | wxALIGN_CENTER, 5 );
+        grid_sizer->Add( size_sizer, 1, wxEXPAND | wxALL, 5 );
+    }
+
+    p_item =
+        config_FindConfig( VLC_OBJECT(p_intf), "subsdec-align" );
+    if( p_item )
+    {
+        wxBoxSizer *align_sizer = new wxBoxSizer( wxHORIZONTAL );
+        wxStaticText *label =
+            new wxStaticText(panel, -1, wxU(p_item->psz_text));
+        align_combo = new wxComboBox( panel, -1, wxT(""),
+                                     wxDefaultPosition, wxDefaultSize,
+                                     0, NULL, wxCB_READONLY );
+
+        /* build a list of available options */
+        for( int i_index = 0; i_index < p_item->i_list; i_index++ )
+        {
+            align_combo->Append( wxU(p_item->ppsz_list_text[i_index]),
+                                (void *)p_item->pi_list[i_index] );
+            if( p_item->i_value == p_item->pi_list[i_index] )
+            {
+                align_combo->SetSelection( i_index );
+                align_combo->SetValue(wxU(p_item->ppsz_list_text[i_index]));
+            }
+        }
+
+        align_combo->SetToolTip( wxU(p_item->psz_longtext) );
 
-        size_sizer->Add( label, 0, wxALL | wxALIGN_CENTER, 5 );
-        size_sizer->Add( size_combo, 0, wxALL | wxALIGN_CENTER, 5 );
-        misc_sizer->Add( size_sizer, 1, wxEXPAND | wxALL, 5 );
+        align_sizer->Add( label, 0,  wxRIGHT | wxALIGN_CENTER, 5 );
+        align_sizer->Add( align_combo, 0, wxLEFT | wxALIGN_CENTER, 5 );
+        grid_sizer->Add( align_sizer, 1, wxEXPAND | wxALL, 5 );
     }
 
+    misc_sizer->Add( grid_sizer, 1, wxEXPAND | wxALL , 5 );
+
+    grid_sizer = new wxFlexGridSizer( 4, 1, 20 );
+
     wxStaticText *label =
         new wxStaticText(panel, -1, wxU(_("Frames per second")));
 
@@ -181,11 +217,30 @@ SubsFileDialog::SubsFileDialog( intf_thread_t *_p_intf, wxWindow* _p_parent ):
                                    wxSP_ARROW_KEYS,
                                    0, 16000, (int)f_fps );
     fps_spinctrl->SetToolTip( wxU(_("Override frames per second. "
-                              "It will only work with MicroDVD subtitles.")) );
-    misc_sizer->Add( label, 0, wxALL | wxALIGN_CENTER, 5 );
-    misc_sizer->Add( fps_spinctrl, 0, wxALL | wxALIGN_CENTER, 5 );
+               "It will only work with MicroDVD and SubRIP subtitles.")) );
+    grid_sizer->Add( label, 0, wxALIGN_CENTER, 5 );
+    grid_sizer->Add( fps_spinctrl, 0,wxALIGN_CENTER, 5 );
+
+
+    wxStaticText *label_delay =
+        new wxStaticText(panel, -1, wxU(_("Delay")));
+
+    int i_delay = config_GetInt( p_intf, "sub-delay" );
+    /* Outside the new wxSpinCtrl to avoid an internal error in gcc2.95 ! */
+    wxString format_delay(wxString::Format(wxT("%i"), i_delay ));
+    delay_spinctrl = new wxSpinCtrl( panel, -1, format_delay,
+                                     wxDefaultPosition, wxDefaultSize,
+                                     wxSP_ARROW_KEYS,
+                                     0, 16000, i_delay );
+    delay_spinctrl->SetToolTip( wxU(_("Set subtitle delay (in 1/10s)" ) ) );
+
+    grid_sizer->Add( label_delay , 0, wxALIGN_CENTER, 5 );
+    grid_sizer->Add( delay_spinctrl, 0, wxALIGN_CENTER, 5 );
+
+    misc_sizer->Add( grid_sizer, 0, wxALL, 5 );
 
     misc_sizer_sizer->Add( misc_sizer, 1, wxEXPAND | wxALL, 5 );
+
     panel_sizer->Add( misc_sizer, 0, wxEXPAND | wxALL, 5 );
 
     /* Separation */
index aa4948a70e3a3070c8f7575129008449c7e3d0b9..d2284049825b16a9dd550aad803a2f9a3c32eb47 100644 (file)
@@ -630,7 +630,9 @@ public:
     wxComboBox *file_combo;
     wxComboBox *encoding_combo;
     wxComboBox *size_combo;
+    wxComboBox *align_combo;
     wxSpinCtrl *fps_spinctrl;
+    wxSpinCtrl *delay_spinctrl;
 
 private:
     /* Event handlers (these functions should _not_ be virtual) */
index 8de767be5d2bb9242d1c2c73b4feb2e9a1f33a1f..0981b4a6f4eeac771ca880382452554b6181b73a 100644 (file)
@@ -160,7 +160,7 @@ input_thread_t *__input_CreateThread( vlc_object_t *p_parent,
     vlc_mutex_lock( &p_item->lock );
     for( i = 0; i < p_item->i_options; i++ )
     {
-        msg_Dbg( p_input, "option: %s", p_item->ppsz_options[i] );
+//        msg_Dbg( p_input, "option: %s", p_item->ppsz_options[i] );
         ParseOption( p_input, p_item->ppsz_options[i] );
     }
     vlc_mutex_unlock( &p_item->lock );