[Digikam-devel] [Bug 121784] accessing the camera in mass storage mode just lists jpegs and no other filetypes

Gilles Caulier caulier.gilles at free.fr
Mon Apr 3 10:42:29 BST 2006


------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=121784         




------- Additional Comments From caulier.gilles free fr  2006-04-03 11:41 -------
SVN commit 525916 by cgilles:

digikam from trunk : Polishing and improving camera setup dialog. Add Tips on the bottom about how to set USB mass Storage camera. Add web Link to fresh cameras list supported by GPhoto2.
CCMAIL: digikam-devel kde org
CCBUGS: 121800, 121784

 M  +55 -68    cameraselection.cpp  


--- trunk/extragear/graphics/digikam/utilities/setup/cameraselection.cpp #525915:525916
 @ -25,7 +25,6  @
 #include <qcombobox.h>
 #include <qgroupbox.h>
 #include <qlabel.h>
-#include <qlistview.h>
 #include <qpushbutton.h>
 #include <qradiobutton.h>
 #include <qvbuttongroup.h>
 @ -37,8 +36,10  @
 // KDE includes.
 
 #include <kglobalsettings.h>
+#include <kactivelabel.h>
 #include <kurlrequester.h>
 #include <klocale.h>
+#include <klistview.h>
 
 // Local includes.
 
 @ -64,8 +65,6  @
         umsMountURL      = 0;
     }
 
-    QListView     *listView;
-
     QLineEdit     *titleEdit;
 
     QVButtonGroup *portButtonGroup;
 @ -81,6 +80,8  @
     QString        UMSCameraNameShown;
 
     QStringList    serialPortList;
+    
+    KListView     *listView;
 
     KURLRequester *umsMountURL;
 };
 @ -97,40 +98,33  @
     QWidget *page = new QWidget( this );
     setMainWidget(page);
     
-    QVBoxLayout *topLayout =
-        new QVBoxLayout( page, 5, 5 ); 
+    QVBoxLayout *topLayout = new QVBoxLayout( page, 5, 5 ); 
 
-    QGroupBox* mainBox = new QGroupBox( page );
-    mainBox->setTitle( i18n( "Camera Configuration" ) );
-    mainBox->setColumnLayout(0, Qt::Vertical );
-    mainBox->layout()->setSpacing( 5 );
-    mainBox->layout()->setMargin( 5 );
-    QGridLayout* mainBoxLayout = new QGridLayout( mainBox->layout() );
-    mainBoxLayout->setAlignment( Qt::AlignTop );
+    // --------------------------------------------------------------
 
-    d->listView = new QListView( mainBox );
-    d->listView->addColumn( i18n("Cameras") );
-    d->listView->setSizePolicy(QSizePolicy(QSizePolicy::Expanding,
-                                         QSizePolicy::Expanding));
-    mainBoxLayout->addMultiCellWidget( d->listView, 0, 4, 0, 0 );
+    QGroupBox* mainBox = new QGroupBox( 0, Qt::Vertical, i18n( "Camera Configuration" ), page );
+    mainBox->setInsideMargin(KDialogBase::marginHint());
+    mainBox->setInsideSpacing(KDialogBase::spacingHint());  
+    
+    QGridLayout* mainBoxLayout = new QGridLayout( mainBox->layout(), 5, 1, KDialog::spacingHint() );
+    
+    // --------------------------------------------------------------
 
-    QGroupBox* titleBox = new QGroupBox( mainBox );
-    titleBox->setTitle( i18n("Camera Title") );
-    titleBox->setColumnLayout(0, Qt::Vertical );
-    titleBox->layout()->setSpacing( 5 );
-    titleBox->layout()->setMargin( 5 );
-    QVBoxLayout* titleBoxLayout = new QVBoxLayout( titleBox->layout() );
+    d->listView = new KListView( mainBox );
+    d->listView->addColumn( i18n("Camera List") );
+    d->listView->setAllColumnsShowFocus(true);
+    d->listView->setResizeMode(KListView::LastColumn);
+    d->listView->setMinimumWidth(350);
 
-    d->titleEdit = new QLineEdit( titleBox );
-    titleBoxLayout->addWidget( d->titleEdit );
+    // --------------------------------------------------------------
 
-    mainBoxLayout->addWidget( titleBox, 0, 1 );
+    QGroupBox* titleBox = new QGroupBox( 1, Qt::Vertical, i18n("Camera Title"), mainBox );
+    d->titleEdit = new QLineEdit( titleBox );
     
-    d->portButtonGroup = new QVButtonGroup( mainBox );
-    d->portButtonGroup->setTitle( i18n( "Camera Port Type" ) );
+    // --------------------------------------------------------------
+    
+    d->portButtonGroup = new QVButtonGroup( i18n("Camera Port Type"), mainBox );
     d->portButtonGroup->setRadioButtonExclusive( true );
-    d->portButtonGroup->layout()->setSpacing( 5 );
-    d->portButtonGroup->layout()->setMargin( 5 );
 
     d->usbButton = new QRadioButton( d->portButtonGroup );
     d->usbButton->setText( i18n( "USB" ) );
 @ -138,51 +132,44  @
     d->serialButton = new QRadioButton( d->portButtonGroup );
     d->serialButton->setText( i18n( "Serial" ) );
 
-    mainBoxLayout->addWidget( d->portButtonGroup, 1, 1 );
-
-    QGroupBox* portPathBox = new QGroupBox( mainBox );
-    portPathBox->setTitle( i18n( "Camera Port Path" ) );
-    portPathBox->setColumnLayout(0, Qt::Vertical );
-    portPathBox->layout()->setSpacing( 5 );
-    portPathBox->layout()->setMargin( 5 );
-    QVBoxLayout* portPathBoxLayout = new QVBoxLayout( portPathBox->layout() );
-    portPathBoxLayout->setAlignment( Qt::AlignTop );
-
+    // --------------------------------------------------------------
+    
+    QGroupBox* portPathBox = new QGroupBox( 1, Qt::Horizontal, i18n( "Camera Port Path" ), mainBox );
     d->portPathLabel = new QLabel( portPathBox);
-    d->portPathLabel->setText( i18n( "only for serial port\n"
-			             "cameras" ) );
-    portPathBoxLayout->addWidget( d->portPathLabel );
+    d->portPathLabel->setText( i18n( "Note: only for serial port camera" ) );
 
     d->portPathComboBox = new QComboBox( false, portPathBox );
     d->portPathComboBox->setDuplicatesEnabled( false );
-    portPathBoxLayout->addWidget( d->portPathComboBox );
 
-    mainBoxLayout->addWidget( portPathBox, 2, 1 );
+    // --------------------------------------------------------------
 
-    QGroupBox* umsMountBox = new QGroupBox( mainBox );
-    umsMountBox->setTitle( i18n( "Camera Mount Path" ) );
-    umsMountBox->setColumnLayout(0, Qt::Vertical );
-    umsMountBox->layout()->setSpacing( 5 );
-    umsMountBox->layout()->setMargin( 5 );
-    QVBoxLayout* umsMountBoxLayout = new QVBoxLayout( umsMountBox->layout() );
-    umsMountBoxLayout->setAlignment( Qt::AlignTop );
+    QGroupBox* umsMountBox = new QGroupBox( 1, Qt::Horizontal, i18n( "Camera Mount Path"), mainBox );
 
     QLabel* umsMountLabel = new QLabel( umsMountBox );
-    umsMountLabel->setText( i18n( "only for USB/IEEE mass storage\n"
-                                  "cameras" ) );
-    umsMountBoxLayout->addWidget( umsMountLabel );
+    umsMountLabel->setText( i18n( "Note: only for USB/IEEE mass storage camera" ) );
 
     d->umsMountURL = new KURLRequester( QString("/mnt/camera"), umsMountBox);
     d->umsMountURL->setMode(KFile::Directory | KFile::ExistingOnly | KFile::LocalOnly);
+    
+    // --------------------------------------------------------------
+    
+    KActiveLabel* explanation = new KActiveLabel(mainBox);
+    explanation->setText(i18n("<p>To set an <b>Usb Mass Storage</b> camera, please use <b>%1</b> from camera list.<p> "
+                              "<p>To see a fresh list of supported cameras, take a look at "
+                              "<a href='http://www.teaser.fr/~hfiguiere/linux/digicam.html'>this url</a>.</p>")
+                              .arg(d->UMSCameraNameShown));    
 
-    umsMountBoxLayout->addWidget( d->umsMountURL );
-    mainBoxLayout->addWidget( umsMountBox, 3, 1 );
+    // --------------------------------------------------------------
+    
+    mainBoxLayout->addMultiCellWidget( d->listView, 0, 5, 0, 0 );
+    mainBoxLayout->addMultiCellWidget( titleBox, 0, 0, 1, 1 );
+    mainBoxLayout->addMultiCellWidget( d->portButtonGroup, 1, 1, 1, 1 );
+    mainBoxLayout->addMultiCellWidget( portPathBox, 2, 2, 1, 1 );
+    mainBoxLayout->addMultiCellWidget( umsMountBox, 3, 3, 1, 1 );
+    mainBoxLayout->addMultiCellWidget( explanation, 4, 4, 1, 1 );
+    mainBoxLayout->setColStretch( 0, 10 );
+    mainBoxLayout->setRowStretch( 5, 10 );
 
-    QSpacerItem* spacer = new QSpacerItem( 20, 20,
-                                           QSizePolicy::Minimum,
-                                           QSizePolicy::Expanding );
-    mainBoxLayout->addItem( spacer, 4, 1 );
-
     topLayout->addWidget( mainBox );
 
     // Connections --------------------------------------------------
 @ -246,17 +233,17  @
 {
     int count = 0;
     QStringList clist;
-
-    GPIface::getSupportedCameras(count, clist);
-
     QString cname;
-    for (int i=0; i<count; i++) 
+    
+    GPIface::getSupportedCameras(count, clist);
+    
+    for (int i = 0 ; i < count ; i++) 
     {
         cname = clist[i];
         if (cname == d->UMSCameraNameActual)
-            new QListViewItem(d->listView, d->UMSCameraNameShown);
+            new KListViewItem(d->listView, d->UMSCameraNameShown);
         else
-            new QListViewItem(d->listView, cname);
+            new KListViewItem(d->listView, cname);
     }
 }



More information about the Digikam-devel mailing list