18 #include <QDebug> |
18 #include <QDebug> |
19 #include <glxcommandhandlers.hrh> |
19 #include <glxcommandhandlers.hrh> |
20 #include <glxcommandhandler.h> |
20 #include <glxcommandhandler.h> |
21 #include<glxcommandhandlerfactory.h> |
21 #include<glxcommandhandlerfactory.h> |
22 #include "glxmediaid.h" |
22 #include "glxmediaid.h" |
|
23 #include <QModelIndexList> |
23 |
24 |
24 GlxActionHandler::GlxActionHandler() |
25 GlxActionHandler::GlxActionHandler() |
25 { |
26 { |
26 } |
27 } |
27 |
28 |
30 foreach( GlxCommandHandler *cmdhandler, mCommandHandlerList) |
31 foreach( GlxCommandHandler *cmdhandler, mCommandHandlerList) |
31 delete cmdhandler; |
32 delete cmdhandler; |
32 mCommandHandlerList.clear(); |
33 mCommandHandlerList.clear(); |
33 } |
34 } |
34 |
35 |
35 void GlxActionHandler::handleAction(qint32 commandId,int collectionId) |
36 void GlxActionHandler::handleAction(qint32 commandId,int collectionId,QModelIndexList indexList) |
36 { |
37 { |
37 GlxCommandHandler* cmdHandler = NULL; |
38 GlxCommandHandler* cmdHandler = NULL; |
38 switch ( commandId ) { |
39 switch ( commandId ) { |
39 case EGlxCmdContextAddToAlbum: |
40 case EGlxCmdContextAddToAlbum: |
40 commandId = EGlxCmdAddToAlbum; |
41 commandId = EGlxCmdAddToAlbum; |
41 break; |
42 break; |
|
43 |
42 case EGlxCmdContextDelete: |
44 case EGlxCmdContextDelete: |
43 commandId = EGlxCmdDelete; |
45 commandId = EGlxCmdDelete; |
44 break; |
46 break; |
|
47 |
45 case EGlxCmdContextAlbumDelete: |
48 case EGlxCmdContextAlbumDelete: |
46 commandId = EGlxCmdDelete; |
49 commandId = EGlxCmdDelete; |
47 collectionId = KGlxAlbumsMediaId; |
|
48 break; |
50 break; |
|
51 |
|
52 case EGlxCmdContextSend: |
|
53 commandId = EGlxCmdSend; |
|
54 break; |
|
55 |
49 default : break; |
56 default : break; |
50 } |
57 } |
51 |
58 |
52 if(mCommandHandlerList.contains(commandId)){ |
59 if(mCommandHandlerList.contains(commandId)){ |
53 cmdHandler = mCommandHandlerList.value(commandId); |
60 cmdHandler = mCommandHandlerList.value(commandId); |
55 else{ |
62 else{ |
56 cmdHandler = GlxCommandHandlerFactory::CreateCommandHandler(commandId); |
63 cmdHandler = GlxCommandHandlerFactory::CreateCommandHandler(commandId); |
57 addCommandHandler(commandId,cmdHandler); |
64 addCommandHandler(commandId,cmdHandler); |
58 } |
65 } |
59 if ( cmdHandler ) { |
66 if ( cmdHandler ) { |
60 cmdHandler->executeCommand(commandId,collectionId); |
67 cmdHandler->executeCommand(commandId,collectionId,indexList); |
61 } |
68 } |
62 } |
69 } |
63 |
70 |
64 void GlxActionHandler::addCommandHandler(int commandId,GlxCommandHandler* commandHandler) |
71 void GlxActionHandler::addCommandHandler(int commandId,GlxCommandHandler* commandHandler) |
65 { |
72 { |