SVN commit 1004509 by gkiagia: Add button to make video calls directly to contacts that are not in the contact list. Also restore the .FUTURE.InitialAudio parameter to the existing button to make audio calls. This doesn't work with sofiasip though, but it's better than making useless calls without initial streams. M +17 -3 mainwindow.cpp M +3 -1 mainwindow.h M +13 -6 mainwindow.ui --- trunk/playground/network/kcall/mainwindow.cpp #1004508:1004509 @@ -41,7 +41,8 @@ new ContactListController(ui->contactsTreeView, KCallApplication::instance()->contactsModel()); ui->accountComboBox->setModel(KCallApplication::instance()->contactsModel()); - connect(ui->dialButton, SIGNAL(clicked()), SLOT(onDialButtonClicked())); + connect(ui->dialAudioButton, SIGNAL(clicked()), SLOT(onDialAudioButtonClicked())); + connect(ui->dialVideoButton, SIGNAL(clicked()), SLOT(onDialVideoButtonClicked())); setupActions(); setupGUI(QSize(340, 460)); @@ -66,8 +67,18 @@ dialog->show(); } -void MainWindow::onDialButtonClicked() +void MainWindow::onDialAudioButtonClicked() { + makeDirectCall(false); +} + +void MainWindow::onDialVideoButtonClicked() +{ + makeDirectCall(true); +} + +void MainWindow::makeDirectCall(bool useVideo) +{ int row = ui->accountComboBox->currentIndex(); QString id = ui->contactHandleLineEdit->text(); if ( row < 0 || id.isEmpty() ) { @@ -85,7 +96,10 @@ TELEPATHY_INTERFACE_CHANNEL_TYPE_STREAMED_MEDIA); request.insert(TELEPATHY_INTERFACE_CHANNEL ".TargetHandleType", Tp::HandleTypeContact); request.insert(TELEPATHY_INTERFACE_CHANNEL ".TargetID", id); - // request.insert(TELEPATHY_INTERFACE_CHANNEL_TYPE_STREAMED_MEDIA ".FUTURE.InitialAudio", true); + request.insert(TELEPATHY_INTERFACE_CHANNEL_TYPE_STREAMED_MEDIA ".FUTURE.InitialAudio", true); + if ( useVideo ) { + request.insert(TELEPATHY_INTERFACE_CHANNEL_TYPE_STREAMED_MEDIA ".FUTURE.InitialVideo", true); + } account->ensureChannel(request, QDateTime::currentDateTime(), "org.freedesktop.Telepathy.Client.kcall_handler"); } --- trunk/playground/network/kcall/mainwindow.h #1004508:1004509 @@ -29,7 +29,9 @@ private slots: void showSettingsDialog(); - void onDialButtonClicked(); + void onDialAudioButtonClicked(); + void onDialVideoButtonClicked(); + void makeDirectCall(bool useVideo); private: void setupActions(); --- trunk/playground/network/kcall/mainwindow.ui #1004508:1004509 @@ -6,7 +6,7 @@ 0 0 - 285 + 300 388 @@ -35,7 +35,7 @@ Dial directly - + Qt::Vertical @@ -51,7 +51,7 @@ - + @@ -82,14 +82,21 @@ + + + + Dial (Audio only) + + + - + - Dial + Dial (Audio/Video) - + Qt::Vertical