[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    playground/network/kcall
From:       George Kiagiadakis <gkiagiad () csd ! uoc ! gr>
Date:       2009-06-23 10:51:25
Message-ID: 1245754285.073489.28847.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 985642 by gkiagia:

Add support for DTMF dialpad in the call window (untested).

 M  +1 -0      kcall_handler/CMakeLists.txt  
 M  +11 -0     kcall_handler/callwindow.cpp  
 M  +1 -0      kcall_handler/callwindow.h  
 M  +6 -0      kcall_handler/channelhandler.cpp  
 M  +2 -0      kcall_handler/channelhandler.h  
 A             kcall_handler/dtmfhandler.cpp   [License: GPL (v2+)]
 A             kcall_handler/dtmfhandler.h   kcall_handler/callwindow.h#985254 [License: GPL (v2+)]
 M  +2 -0      libkcallprivate/CMakeLists.txt  
 A             libkcallprivate/dtmfwidget.cpp   [License: LGPL (v2.1+)]
 A             libkcallprivate/dtmfwidget.h   [License: LGPL (v2.1+)]
 A             libkcallprivate/dtmfwidget.ui  


--- trunk/playground/network/kcall/kcall_handler/CMakeLists.txt #985641:985642
@@ -56,6 +56,7 @@
         callhandler.cpp
         channelhandler.cpp
         abstractmediahandler.cpp
+        dtmfhandler.cpp
         volumewidget.cpp
         volumedock.cpp
         participantsdock.cpp
--- trunk/playground/network/kcall/kcall_handler/callwindow.cpp #985641:985642
@@ -19,6 +19,8 @@
 #include "volumewidget.h"
 #include "abstractmediahandler.h"
 #include "participantsdock.h"
+#include "dtmfhandler.h"
+#include "../libkcallprivate/dtmfwidget.h"
 #include <QtCore/QMetaObject>
 #include <QtGui/QCloseEvent>
 #include <QtGui/QLabel>
@@ -141,6 +143,15 @@
     addDockWidget(Qt::RightDockWidgetArea, participantsDock);
 }
 
+void CallWindow::onDtmfHandlerCreated(DtmfHandler *handler)
+{
+    QDockWidget *dock = new QDockWidget(i18n("Dialpad"), this);
+    DtmfWidget *dtmfWidget = new DtmfWidget(dock);
+    dock->setWidget(dtmfWidget);
+    handler->connectDtmfWidget(dtmfWidget);
+    addDockWidget(Qt::RightDockWidgetArea, dock);
+}
+
 void CallWindow::onCallDurationTimerTimeout()
 {
     d->callDuration = d->callDuration.addSecs(1);
--- trunk/playground/network/kcall/kcall_handler/callwindow.h #985641:985642
@@ -36,6 +36,7 @@
     void setStatus(const QString & msg);
     void onMediaHandlerCreated(AbstractMediaHandler *handler);
     void onGroupMembersModelCreated(GroupMembersModel *model);
+    void onDtmfHandlerCreated(DtmfHandler *handler);
     void onCallDurationTimerTimeout();
 
 protected:
--- trunk/playground/network/kcall/kcall_handler/channelhandler.cpp #985641:985642
@@ -16,6 +16,7 @@
 */
 #include "channelhandler.h"
 #include "abstractmediahandler.h"
+#include "dtmfhandler.h"
 #include "../libkcallprivate/groupmembersmodel.h"
 #include <KDebug>
 #include <KLocalizedString>
@@ -75,6 +76,11 @@
         emit mediaHandlerCreated(d->mediaHandler);
     }
 
+    if ( d->channel->interfaces().contains(TELEPATHY_INTERFACE_CHANNEL_INTERFACE_DTMF) ) {
+        kDebug() << "Creating DTMF handler";
+        emit dtmfHandlerCreated(new DtmfHandler(d->channel, this));
+    }
+
     GroupMembersModel *model = new GroupMembersModel(Tp::ChannelPtr::staticCast(d->channel), this);
     emit groupMembersModelCreated(model);
 
--- trunk/playground/network/kcall/kcall_handler/channelhandler.h #985641:985642
@@ -21,6 +21,7 @@
 #include <TelepathyQt4/StreamedMediaChannel>
 class AbstractMediaHandler;
 class GroupMembersModel;
+class DtmfHandler;
 
 class ChannelHandler : public QObject
 {
@@ -39,6 +40,7 @@
     void stateChanged(ChannelHandler::State newState);
     void mediaHandlerCreated(AbstractMediaHandler *handler);
     void groupMembersModelCreated(GroupMembersModel *model);
+    void dtmfHandlerCreated(DtmfHandler *handler);
 
 private:
     void setState(State s);
--- trunk/playground/network/kcall/libkcallprivate/CMakeLists.txt #985641:985642
@@ -8,8 +8,10 @@
     accountitem.cpp
     contactitem.cpp
     groupmembersmodel.cpp
+    dtmfwidget.cpp
 )
 
+kde4_add_ui_files(libkcallprivate_SRCS dtmfwidget.ui)
 kde4_add_library(kcallprivate SHARED ${libkcallprivate_SRCS})
 target_link_libraries(kcallprivate ${KDE4_KDEUI_LIBS} ${TELEPATHY_QT4_LIBRARIES})
 install(TARGETS kcallprivate ${INSTALL_TARGETS_DEFAULT_ARGS})
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic