src/gui/dialogs/qfiledialog.cpp
changeset 3 41300fa6a67c
parent 0 1918ee327afb
child 4 3b1da2848fc7
--- a/src/gui/dialogs/qfiledialog.cpp	Tue Jan 26 12:42:25 2010 +0200
+++ b/src/gui/dialogs/qfiledialog.cpp	Tue Feb 02 00:43:10 2010 +0200
@@ -691,8 +691,8 @@
 void QFileDialog::open(QObject *receiver, const char *member)
 {
     Q_D(QFileDialog);
-    const char *signal = (fileMode() == ExistingFiles) ? SIGNAL(filesSelected(const QStringList&))
-                                                       : SIGNAL(fileSelected(const QString&));
+    const char *signal = (fileMode() == ExistingFiles) ? SIGNAL(filesSelected(QStringList))
+                                                       : SIGNAL(fileSelected(QString));
     connect(this, signal, receiver, member);
     d->signalToDisconnectOnClose = signal;
     d->receiverToDisconnectOnClose = receiver;
@@ -777,7 +777,7 @@
     QModelIndex root = d->model->setRootPath(newDirectory);
     d->qFileDialogUi->newFolderButton->setEnabled(d->model->flags(root) & Qt::ItemIsDropEnabled);
     if (root != d->rootIndex()) {
-#ifndef QT_NO_COMPLETER
+#ifndef QT_NO_FSCOMPLETER
     if (directory.endsWith(QLatin1Char('/')))
         d->completer->setCompletionPrefix(newDirectory);
     else
@@ -2145,11 +2145,11 @@
     model->setNameFilterDisables(false);
 #endif
     model->d_func()->disableRecursiveSort = true;
-    QFileDialog::connect(model, SIGNAL(fileRenamed(const QString &, const QString &, const QString &)), q, SLOT(_q_fileRenamed(const QString &, const QString &, const QString &)));
-    QFileDialog::connect(model, SIGNAL(rootPathChanged(const QString &)),
-            q, SLOT(_q_pathChanged(const QString &)));
-    QFileDialog::connect(model, SIGNAL(rowsInserted(const QModelIndex &, int, int)),
-            q, SLOT(_q_rowsInserted(const QModelIndex &)));
+    QFileDialog::connect(model, SIGNAL(fileRenamed(QString,QString,QString)), q, SLOT(_q_fileRenamed(QString,QString,QString)));
+    QFileDialog::connect(model, SIGNAL(rootPathChanged(QString)),
+            q, SLOT(_q_pathChanged(QString)));
+    QFileDialog::connect(model, SIGNAL(rowsInserted(QModelIndex,int,int)),
+            q, SLOT(_q_rowsInserted(QModelIndex)));
     model->setReadOnly(false);
 
     qFileDialogUi.reset(new Ui_QFileDialog());
@@ -2159,8 +2159,8 @@
     initialBookmarks << QUrl::fromLocalFile(QLatin1String(""))
                      << QUrl::fromLocalFile(QDir::homePath());
     qFileDialogUi->sidebar->init(model, initialBookmarks);
-    QFileDialog::connect(qFileDialogUi->sidebar, SIGNAL(goToUrl(const QUrl &)),
-                         q, SLOT(_q_goToUrl(const QUrl &)));
+    QFileDialog::connect(qFileDialogUi->sidebar, SIGNAL(goToUrl(QUrl)),
+                         q, SLOT(_q_goToUrl(QUrl)));
 
     QObject::connect(qFileDialogUi->buttonBox, SIGNAL(accepted()), q, SLOT(accept()));
     QObject::connect(qFileDialogUi->buttonBox, SIGNAL(rejected()), q, SLOT(reject()));
@@ -2177,12 +2177,12 @@
 #ifndef QT_NO_SHORTCUT
     qFileDialogUi->fileNameLabel->setBuddy(qFileDialogUi->fileNameEdit);
 #endif
-#ifndef QT_NO_COMPLETER
+#ifndef QT_NO_FSCOMPLETER
     completer = new QFSCompleter(model, q);
     qFileDialogUi->fileNameEdit->setCompleter(completer);
     QObject::connect(qFileDialogUi->fileNameEdit, SIGNAL(textChanged(QString)),
             q, SLOT(_q_autoCompleteFileName(QString)));
-#endif // QT_NO_COMPLETER
+#endif // QT_NO_FSCOMPLETER
     QObject::connect(qFileDialogUi->fileNameEdit, SIGNAL(textChanged(QString)),
                      q, SLOT(_q_updateOkButton()));
 
@@ -2194,8 +2194,8 @@
     qFileDialogUi->fileTypeCombo->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
     QObject::connect(qFileDialogUi->fileTypeCombo, SIGNAL(activated(int)),
                      q, SLOT(_q_useNameFilter(int)));
-    QObject::connect(qFileDialogUi->fileTypeCombo, SIGNAL(activated(const QString &)),
-                     q, SIGNAL(filterSelected(const QString &)));
+    QObject::connect(qFileDialogUi->fileTypeCombo, SIGNAL(activated(QString)),
+                     q, SIGNAL(filterSelected(QString)));
 
     qFileDialogUi->listView->init(this);
     qFileDialogUi->listView->setModel(model);
@@ -2221,8 +2221,8 @@
 
     QActionGroup *showActionGroup = new QActionGroup(q);
     showActionGroup->setExclusive(false);
-    QObject::connect(showActionGroup, SIGNAL(triggered(QAction *)),
-                     q, SLOT(_q_showHeader(QAction *)));;
+    QObject::connect(showActionGroup, SIGNAL(triggered(QAction*)),
+                     q, SLOT(_q_showHeader(QAction*)));;
 
     QAbstractItemModel *abstractModel = model;
 #ifndef QT_NO_PROXYMODEL
@@ -2251,7 +2251,7 @@
 
     // Selections
     QItemSelectionModel *selections = qFileDialogUi->listView->selectionModel();
-    QObject::connect(selections, SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)),
+    QObject::connect(selections, SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
                      q, SLOT(_q_selectionChanged()));
     QObject::connect(selections, SIGNAL(currentChanged(QModelIndex,QModelIndex)),
                      q, SLOT(_q_currentChanged(QModelIndex)));
@@ -2289,11 +2289,11 @@
 
     QModelIndex idx = d->rootIndex();
     if (d->proxyModel) {
-        disconnect(d->proxyModel, SIGNAL(rowsInserted(const QModelIndex &, int, int)),
-            this, SLOT(_q_rowsInserted(const QModelIndex &)));
+        disconnect(d->proxyModel, SIGNAL(rowsInserted(QModelIndex,int,int)),
+            this, SLOT(_q_rowsInserted(QModelIndex)));
     } else {
-        disconnect(d->model, SIGNAL(rowsInserted(const QModelIndex &, int, int)),
-            this, SLOT(_q_rowsInserted(const QModelIndex &)));
+        disconnect(d->model, SIGNAL(rowsInserted(QModelIndex,int,int)),
+            this, SLOT(_q_rowsInserted(QModelIndex)));
     }
 
     if (proxyModel != 0) {
@@ -2302,23 +2302,23 @@
         proxyModel->setSourceModel(d->model);
         d->qFileDialogUi->listView->setModel(d->proxyModel);
         d->qFileDialogUi->treeView->setModel(d->proxyModel);
-#ifndef QT_NO_COMPLETER
+#ifndef QT_NO_FSCOMPLETER
         d->completer->setModel(d->proxyModel);
         d->completer->proxyModel = d->proxyModel;
 #endif
-        connect(d->proxyModel, SIGNAL(rowsInserted(const QModelIndex &, int, int)),
-            this, SLOT(_q_rowsInserted(const QModelIndex &)));
+        connect(d->proxyModel, SIGNAL(rowsInserted(QModelIndex,int,int)),
+            this, SLOT(_q_rowsInserted(QModelIndex)));
     } else {
         d->proxyModel = 0;
         d->qFileDialogUi->listView->setModel(d->model);
         d->qFileDialogUi->treeView->setModel(d->model);
-#ifndef QT_NO_COMPLETER
+#ifndef QT_NO_FSCOMPLETER
         d->completer->setModel(d->model);
         d->completer->sourceModel = d->model;
         d->completer->proxyModel = 0;
 #endif
-        connect(d->model, SIGNAL(rowsInserted(const QModelIndex &, int, int)),
-            this, SLOT(_q_rowsInserted(const QModelIndex &)));
+        connect(d->model, SIGNAL(rowsInserted(QModelIndex,int,int)),
+            this, SLOT(_q_rowsInserted(QModelIndex)));
     }
     QScopedPointer<QItemSelectionModel> selModel(d->qFileDialogUi->treeView->selectionModel());
     d->qFileDialogUi->treeView->setSelectionModel(d->qFileDialogUi->listView->selectionModel());
@@ -2327,7 +2327,7 @@
 
     // reconnect selection
     QItemSelectionModel *selections = d->qFileDialogUi->listView->selectionModel();
-    QObject::connect(selections, SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)),
+    QObject::connect(selections, SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
                      this, SLOT(_q_selectionChanged()));
     QObject::connect(selections, SIGNAL(currentChanged(QModelIndex,QModelIndex)),
                      this, SLOT(_q_currentChanged(QModelIndex)));
@@ -3022,12 +3022,6 @@
     case Qt::Key_Escape:
         q->hide();
         return true;
-#ifdef QT_KEYPAD_NAVIGATION
-    case Qt::Key_Down:
-    case Qt::Key_Up:
-        return (QApplication::navigationMode() != Qt::NavigationModeKeypadTabOrder
-                && QApplication::navigationMode() != Qt::NavigationModeKeypadDirectional);
-#endif
     default:
         break;
     }
@@ -3145,20 +3139,16 @@
 
 void QFileDialogListView::keyPressEvent(QKeyEvent *e)
 {
-    if (!d_ptr->itemViewKeyboardEvent(e)) {
+#ifdef QT_KEYPAD_NAVIGATION
+    if (QApplication::navigationMode() == Qt::NavigationModeKeypadDirectional) {
         QListView::keyPressEvent(e);
+        return;
     }
-#ifdef QT_KEYPAD_NAVIGATION
-    else if ((QApplication::navigationMode() == Qt::NavigationModeKeypadTabOrder
-         || QApplication::navigationMode() == Qt::NavigationModeKeypadDirectional)
-         && !hasEditFocus()) {
-         e->ignore();
-    } else {
-        e->accept();
-    }
-#else
+#endif // QT_KEYPAD_NAVIGATION
+
+    if (!d_ptr->itemViewKeyboardEvent(e))
+        QListView::keyPressEvent(e);
     e->accept();
-#endif
 }
 
 QFileDialogTreeView::QFileDialogTreeView(QWidget *parent) : QTreeView(parent)
@@ -3184,9 +3174,15 @@
 
 void QFileDialogTreeView::keyPressEvent(QKeyEvent *e)
 {
-    if (!d_ptr->itemViewKeyboardEvent(e)) {
+#ifdef QT_KEYPAD_NAVIGATION
+    if (QApplication::navigationMode() == Qt::NavigationModeKeypadDirectional) {
         QTreeView::keyPressEvent(e);
+        return;
     }
+#endif // QT_KEYPAD_NAVIGATION
+
+    if (!d_ptr->itemViewKeyboardEvent(e))
+        QTreeView::keyPressEvent(e);
     e->accept();
 }
 
@@ -3203,13 +3199,16 @@
 */
 void QFileDialogLineEdit::keyPressEvent(QKeyEvent *e)
 {
+#ifdef QT_KEYPAD_NAVIGATION
+    if (QApplication::navigationMode() == Qt::NavigationModeKeypadDirectional) {
+        QLineEdit::keyPressEvent(e);
+        return;
+    }
+#endif // QT_KEYPAD_NAVIGATION
+
     int key = e->key();
     QLineEdit::keyPressEvent(e);
-    if (key != Qt::Key_Escape
-#ifdef QT_KEYPAD_NAVIGATION
-        && QApplication::navigationMode() == Qt::NavigationModeNone
-#endif
-        )
+    if (key != Qt::Key_Escape)
         e->accept();
     if (hideOnEsc && (key == Qt::Key_Escape || key == Qt::Key_Return || key == Qt::Key_Enter)) {
         e->accept();
@@ -3218,7 +3217,7 @@
     }
 }
 
-#ifndef QT_NO_COMPLETER
+#ifndef QT_NO_FSCOMPLETER
 
 QString QFSCompleter::pathFromIndex(const QModelIndex &index) const
 {