]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/components/open.cpp
Removes trailing spaces. Removes tabs.
[vlc] / modules / gui / qt4 / components / open.cpp
index f5db04e704e97ca2eb2ae723faea49f3b62da172..f91ff544706038fdd9e08f54deea4650783eb1a9 100644 (file)
@@ -2,10 +2,13 @@
  * open.cpp : Panels for the open dialogs
  ****************************************************************************
  * Copyright (C) 2006-2007 the VideoLAN team
+ * Copyright (C) 2007 Société des arts technologiques
+ * Copyright (C) 2007 Savoir-faire Linux
  * $Id$
  *
  * Authors: Clément Stenac <zorglub@videolan.org>
  *          Jean-Baptiste Kempf <jb@videolan.org>
+ *          Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -60,6 +63,7 @@ FileOpenPanel::FileOpenPanel( QWidget *_parent, intf_thread_t *_p_intf ) :
     // Make this QFileDialog a child of tempWidget from the ui.
     dialogBox = new FileOpenBox( ui.tempWidget, NULL,
             qfu( p_intf->p_libvlc->psz_homedir ), fileTypes );
+
     dialogBox->setFileMode( QFileDialog::ExistingFiles );
     dialogBox->setAcceptMode( QFileDialog::AcceptOpen );
 
@@ -67,7 +71,7 @@ FileOpenPanel::FileOpenPanel( QWidget *_parent, intf_thread_t *_p_intf ) :
     char *psz_filepath = config_GetPsz( p_intf, "qt-filedialog-path" );
     if( psz_filepath )
     {
-        dialogBox->setDirectory( QString::fromUtf8( psz_filepath ) );
+        dialogBox->setDirectory( qfu( psz_filepath ) );
         delete psz_filepath;
     }
 
@@ -87,12 +91,12 @@ FileOpenPanel::FileOpenPanel( QWidget *_parent, intf_thread_t *_p_intf ) :
 
     /* Ugly hacks to get the good Widget */
     //This lineEdit is the normal line in the fileDialog.
-#if QT_VERSION >= 0x040300
+#if QT43
     lineFileEdit = findChildren<QLineEdit*>()[2];
 #else
     lineFileEdit = findChildren<QLineEdit*>()[3];
 #endif
-    lineFileEdit->hide();
+//    lineFileEdit->hide();
 
     /* Make a list of QLabel inside the QFileDialog to access the good ones */
     QList<QLabel *> listLabel = findChildren<QLabel*>();
@@ -102,10 +106,11 @@ FileOpenPanel::FileOpenPanel( QWidget *_parent, intf_thread_t *_p_intf ) :
     /* Change the text that was uncool in the usual box */
     listLabel[5]->setText( qtr( "Filter:" ) );
 
+
+    QListView *fileListView = findChildren<QListView*>().first();
 #if WIN32
-    /* QFileDialog is quite buggy make it brerable on win32 by tweaking 
+    /* QFileDialog is quite buggy make it brerable on win32 by tweaking
        the followin */
-    QListView *fileListView = findChildren<QListView*>().first();
     fileListView->setLayoutMode(QListView::Batched);
     fileListView->setViewMode(QListView::ListMode);
     fileListView->setResizeMode(QListView::Adjust);
@@ -128,7 +133,11 @@ FileOpenPanel::FileOpenPanel( QWidget *_parent, intf_thread_t *_p_intf ) :
     BUTTONACT( ui.subBrowseButton, browseFileSub() );
     BUTTONACT( ui.subCheckBox, toggleSubtitleFrame());
 
+#if QT43
+    CONNECT( fileListView, clicked( QModelIndex ), this, updateMRL() );
+#else
     CONNECT( ui.fileInput, editTextChanged( QString ), this, updateMRL() );
+#endif
     CONNECT( ui.subInput, editTextChanged( QString ), this, updateMRL() );
     CONNECT( ui.alignSubComboBox, currentIndexChanged( int ), this,
                                                             updateMRL() );
@@ -169,6 +178,7 @@ void FileOpenPanel::browseFileSub()
 
 void FileOpenPanel::updateMRL()
 {
+    msg_Dbg( p_intf, "I was here" );
     QString mrl = ui.fileInput->currentText();
 
     if( ui.subCheckBox->isChecked() ) {
@@ -345,7 +355,6 @@ void DiscOpenPanel::updateMRL()
 }
 
 
-
 /**************************************************************************
  * Open Network streams and URL pages                                     *
  **************************************************************************/
@@ -381,10 +390,10 @@ void NetOpenPanel::updateProtocol( int idx ) {
     QString addr = ui.addressText->text();
     QString proto = ui.protocolCombo->itemData( idx ).toString();
 
-    ui.timeShift->setEnabled( idx >= 4 );
-    ui.ipv6->setEnabled( idx == 4 );
-    ui.addressText->setEnabled( idx != 4 );
-    ui.portSpin->setEnabled( idx >= 4 );
+    ui.timeShift->setEnabled( idx >= 5 );
+    ui.ipv6->setEnabled( idx == 5 );
+    ui.addressText->setEnabled( idx != 5 );
+    ui.portSpin->setEnabled( idx >= 5 );
 
     /* If we already have a protocol in the address, replace it */
     if( addr.contains( "://")) {
@@ -404,13 +413,14 @@ void NetOpenPanel::updateMRL() {
     QString addr = ui.addressText->text();
     int proto = ui.protocolCombo->currentIndex();
 
-    if( addr.contains( "://") && proto != 4 ) {
+    if( addr.contains( "://") && proto != 5 ) {
         mrl = addr;
     } else {
         switch( proto ) {
         case 0:
-        case 1:
             mrl = "http://" + addr;
+        case 1:
+            mrl = "https://" + addr;
             emit methodChanged("http-caching");
             break;
         case 3:
@@ -519,6 +529,58 @@ CaptureOpenPanel::CaptureOpenPanel( QWidget *_parent, intf_thread_t *_p_intf ) :
     CuMRL( v4lFreq, valueChanged ( int ) );
     CuMRL( v4lNormBox,  currentIndexChanged ( int ) );
 
+    /*******
+     * JACK *
+     *******/
+    addModuleAndLayouts( JACK_DEVICE, jack, "JACK Audio Connection Kit" );
+
+    /* Jack Main panel */
+    /* Channels */
+    QLabel *jackChannelsLabel = new QLabel( qtr( "Channels :" ) );
+    jackDevLayout->addWidget( jackChannelsLabel, 1, 0 );
+
+    jackChannels = new QSpinBox;
+    setSpinBoxFreq( jackChannels );
+    jackChannels->setMaximum(255);
+    jackChannels->setValue(2);
+    jackChannels->setAlignment( Qt::AlignRight );
+    jackDevLayout->addWidget( jackChannels, 1, 1 );
+
+    /* Jack Props panel */
+    /* Selected ports */
+    QLabel *jackPortsLabel = new QLabel( qtr( "Selected ports :" ) );
+    jackPropLayout->addWidget( jackPortsLabel, 0 , 0 );
+
+    jackPortsSelected = new QLineEdit( qtr( ".*") );
+    jackPortsSelected->setAlignment( Qt::AlignRight );
+    jackPropLayout->addWidget( jackPortsSelected, 0, 1 );
+    /* Caching */
+    QLabel *jackCachingLabel = new QLabel( qtr( "Input caching :" ) );
+    jackPropLayout->addWidget( jackCachingLabel, 1 , 0 );
+    jackCaching = new QSpinBox;
+    setSpinBoxFreq( jackCaching );
+    jackCaching->setSuffix( " ms" );
+    jackCaching->setValue(1000);
+    jackCaching->setAlignment( Qt::AlignRight );
+    jackPropLayout->addWidget( jackCaching, 1 , 1 );
+    /* Pace */
+    jackPace = new QCheckBox(qtr( "Use VLC pace" ));
+    jackPropLayout->addWidget( jackPace, 2, 1 );
+    /* Auto Connect */
+    jackConnect = new QCheckBox( qtr( "Auto connnection" ));
+    jackPropLayout->addWidget( jackConnect, 3, 1 );
+    /* Jack CONNECTs */
+    CuMRL( jackChannels, valueChanged( int ) );
+    CuMRL( jackCaching, valueChanged( int ) );
+    CuMRL( jackPace, stateChanged( int ) );
+    CuMRL( jackConnect, stateChanged( int ) );
+    CuMRL( jackPortsSelected, textChanged( QString ) );
+
     /************
      * PVR      *
      ************/
@@ -733,14 +795,12 @@ CaptureOpenPanel::CaptureOpenPanel( QWidget *_parent, intf_thread_t *_p_intf ) :
     /**********
      * Screen *
      **********/
-
     addModuleAndLayouts( SCREEN_DEVICE, screen, "Desktop" );
     QLabel *screenLabel = new QLabel( "This option will open your own "
             "desktop in order to save or stream it.");
     screenLabel->setWordWrap( true );
     screenDevLayout->addWidget( screenLabel, 0, 0 );
 
-
     /* General connects */
     connect( ui.deviceCombo, SIGNAL( activated( int ) ),
                      stackedDevLayout, SLOT( setCurrentIndex( int ) ) );
@@ -763,7 +823,6 @@ void CaptureOpenPanel::updateMRL()
     QString mrl = "";
     int i_devicetype = ui.deviceCombo->itemData(
             ui.deviceCombo->currentIndex() ).toInt();
-    msg_Dbg( p_intf, "Capture Type: %i", i_devicetype );
     switch( i_devicetype )
     {
     case V4L_DEVICE:
@@ -773,6 +832,20 @@ void CaptureOpenPanel::updateMRL()
         mrl += " :v4l-norm=" + QString("%1").arg( v4lNormBox->currentIndex() );
         mrl += " :v4l-frequency=" + QString("%1").arg( v4lFreq->value() );
         break;
+    case JACK_DEVICE:
+        mrl = "jack://";
+        mrl += "channels=" + QString("%1").arg( jackChannels->value() );
+        mrl += ":ports=" + jackPortsSelected->text();
+        mrl += " --jack-input-caching=" + QString("%1").arg( jackCaching->value() );
+        if ( jackPace->isChecked() )
+        {
+                mrl += " --jack-input-use-vlc-pace";
+        }
+        if ( jackConnect->isChecked() )
+        {
+                mrl += " --jack-input-auto-connect";
+        }
+        break;
     case PVR_DEVICE:
         mrl = "pvr://";
         mrl += " :pvr-device=" + pvrDevice->text();
@@ -813,7 +886,7 @@ void CaptureOpenPanel::updateMRL()
 }
 
 /**
- * Update the Buttons (show/hide) for the GUI as all device type don't 
+ * Update the Buttons (show/hide) for the GUI as all device type don't
  * use the same ui. elements.
  **/
 void CaptureOpenPanel::updateButtons()