mirror of
https://git.jami.net/savoirfairelinux/jami-daemon.git
synced 2025-08-12 22:09:25 +08:00
Merge branch 'qt-client'
This commit is contained in:
@ -17,12 +17,12 @@
|
||||
<Action name="action_hold" />
|
||||
<Action name="action_transfer" />
|
||||
<Action name="action_record" />
|
||||
<Action name="action_mailBox" />
|
||||
<Separator />
|
||||
<Action name="action_main" />
|
||||
<Action name="action_history" />
|
||||
<Action name="action_addressBook" />
|
||||
<Separator />
|
||||
<Action name="action_mailBox" />
|
||||
<Separator />
|
||||
<Action name="action_close" />
|
||||
<Separator />
|
||||
<Action name="action_quit" />
|
||||
@ -32,24 +32,24 @@
|
||||
<Action name="action_displayVolumeControls" />
|
||||
<Action name="action_displayDialpad" />
|
||||
<Separator />
|
||||
<!-- <Action name="action_configureAccounts" /> -->
|
||||
<!-- <Action name="action_configureAudio" /> -->
|
||||
<Action name="action_configureSflPhone" />
|
||||
<Separator />
|
||||
<Action name="action_accountCreationWizard" />
|
||||
</Menu>
|
||||
</MenuBar>
|
||||
|
||||
<!--<ToolBar name="mainToolBar" position="Top" noMerge="1" fullWidth="true" newline="true" >
|
||||
<ToolBar name="callsToolBar" iconText="icononly" position="Top" noMerge="1" fullWidth="true" newline="true" >
|
||||
<Action name="action_accept" />
|
||||
<Action name="action_refuse" />
|
||||
<Action name="action_hold" />
|
||||
<Action name="action_transfer" />
|
||||
<Action name="action_record" />
|
||||
<Separator />
|
||||
<Action name="action_mailBox" />
|
||||
</ToolBar>
|
||||
|
||||
<ToolBar name="screenToolBar" iconText="icononly" position="Top" noMerge="1" fullWidth="true" newline="true" >
|
||||
<Action name="action_main" />
|
||||
<Action name="action_history" />
|
||||
<Action name="action_addressBook" />
|
||||
<Separator />
|
||||
<Action name="action_mailBox" />
|
||||
</ToolBar> -->
|
||||
</ToolBar>
|
||||
</gui>
|
@ -52,34 +52,17 @@ SFLPhone::SFLPhone(QWidget *parent)
|
||||
|
||||
// tell the KXmlGuiWindow that this is indeed the main widget
|
||||
setCentralWidget(view);
|
||||
|
||||
|
||||
// add a status bar
|
||||
// statusBar()->show();
|
||||
|
||||
|
||||
setWindowIcon(QIcon(ICON_SFLPHONE));
|
||||
setWindowTitle(i18n("SFLphone"));
|
||||
|
||||
setupActions();
|
||||
|
||||
qDebug() << "currentPath = " << QDir::currentPath() ;
|
||||
|
||||
|
||||
|
||||
QString rcFilePath = QString(DATA_INSTALL_DIR) + "/sflphone-client-kde/sflphone-client-kdeui.rc";
|
||||
if(! QFile::exists(rcFilePath))
|
||||
{
|
||||
QDir dir;
|
||||
dir.cdUp();
|
||||
dir.cd("data");
|
||||
rcFilePath = dir.filePath("sflphone-client-kdeui.rc");
|
||||
}
|
||||
qDebug() << "rcFilePath = " << rcFilePath ;
|
||||
createGUI(rcFilePath);
|
||||
setObjectNames();
|
||||
QMetaObject::connectSlotsByName(this);
|
||||
view->updateStatusMessage();
|
||||
QMetaObject::connectSlotsByName(this);
|
||||
view->on_stackedWidget_screen_currentChanged(SCREEN_MAIN);
|
||||
view->loadWindow();
|
||||
|
||||
|
||||
move(QCursor::pos().x() - geometry().width()/2, QCursor::pos().y() - geometry().height()/2);
|
||||
if( ! configurationManager.isStartHidden())
|
||||
@ -90,8 +73,7 @@ SFLPhone::SFLPhone(QWidget *parent)
|
||||
if(configurationManager.getAccountList().value().isEmpty())
|
||||
{
|
||||
(new AccountWizard())->show();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
SFLPhone::~SFLPhone()
|
||||
@ -108,46 +90,75 @@ void SFLPhone::setObjectNames()
|
||||
void SFLPhone::setupActions()
|
||||
{
|
||||
qDebug() << "setupActions";
|
||||
ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance();
|
||||
|
||||
actionCollection()->addAction("action_accept", view->action_accept);
|
||||
actionCollection()->addAction("action_refuse", view->action_refuse);
|
||||
actionCollection()->addAction("action_hold", view->action_hold);
|
||||
actionCollection()->addAction("action_transfer", view->action_transfer);
|
||||
actionCollection()->addAction("action_record", view->action_record);
|
||||
actionCollection()->addAction("action_history", view->action_history);
|
||||
actionCollection()->addAction("action_addressBook", view->action_addressBook);
|
||||
actionCollection()->addAction("action_mailBox", view->action_mailBox);
|
||||
KAction * action_close = KStandardAction::close(this, SLOT(close()), 0);
|
||||
action_accept = new KAction(this);
|
||||
action_refuse = new KAction(this);
|
||||
action_hold = new KAction(this);
|
||||
action_transfer = new KAction(this);
|
||||
action_record = new KAction(this);
|
||||
action_mailBox = new KAction(this);
|
||||
|
||||
action_screen = new QActionGroup(this);
|
||||
action_screen->setExclusive(true);
|
||||
action_main = new KAction(KIcon(QIcon(ICON_SCREEN_MAIN)), i18n("Main screen"), action_screen);
|
||||
action_history = new KAction(KIcon(QIcon(ICON_SCREEN_HISTORY)), i18n("Call history"), action_screen);
|
||||
action_addressBook = new KAction(KIcon(QIcon(ICON_SCREEN_ADDRESS)), i18n("Address book"), action_screen);
|
||||
action_main->setCheckable(true);
|
||||
action_history->setCheckable(true);
|
||||
action_addressBook->setCheckable(true);
|
||||
action_main->setChecked(true);
|
||||
action_screen->addAction(action_main);
|
||||
action_screen->addAction(action_history);
|
||||
action_screen->addAction(action_addressBook);
|
||||
|
||||
action_close = KStandardAction::close(this, SLOT(close()), this);
|
||||
action_quit = KStandardAction::quit(this, SLOT(quitButton()), this);
|
||||
|
||||
action_configureSflPhone = KStandardAction::preferences(view, SLOT(configureSflPhone()), this);
|
||||
action_configureSflPhone->setText(i18n("Configure SFLphone"));
|
||||
|
||||
action_displayVolumeControls = new KAction(KIcon(QIcon(ICON_DISPLAY_VOLUME_CONSTROLS)), i18n("Display volume controls"), this);
|
||||
action_displayDialpad = new KAction(KIcon(QIcon(ICON_DISPLAY_DIALPAD)), i18n("Display dialpad"), this);
|
||||
action_displayVolumeControls->setChecked(configurationManager.getVolumeControls());
|
||||
action_displayDialpad->setChecked(configurationManager.getDialpad());
|
||||
action_accountCreationWizard = new KAction(i18n("Account creation wizard"), this);
|
||||
|
||||
connect(action_accept, SIGNAL(triggered()), view, SLOT(accept()));
|
||||
connect(action_refuse, SIGNAL(triggered()), view, SLOT(refuse()));
|
||||
connect(action_hold, SIGNAL(triggered()), view, SLOT(hold()));
|
||||
connect(action_transfer, SIGNAL(triggered()), view, SLOT(transfer()));
|
||||
connect(action_record, SIGNAL(triggered()), view, SLOT(record()));
|
||||
connect(action_screen, SIGNAL(triggered(QAction *)), this, SLOT(updateScreen(QAction *)));
|
||||
connect(action_mailBox, SIGNAL(triggered()), view, SLOT(mailBox()));
|
||||
connect(action_displayVolumeControls, SIGNAL(triggered()), view, SLOT(displayVolumeControls()));
|
||||
connect(action_displayDialpad, SIGNAL(triggered()), view, SLOT(displayDialpad()));
|
||||
connect(action_accountCreationWizard, SIGNAL(triggered()), view, SLOT(accountCreationWizard()));
|
||||
|
||||
action_screen->addAction(action_main);
|
||||
action_screen->addAction(action_history);
|
||||
action_screen->addAction(action_addressBook);
|
||||
|
||||
actionCollection()->addAction("action_accept", action_accept);
|
||||
actionCollection()->addAction("action_refuse", action_refuse);
|
||||
actionCollection()->addAction("action_hold", action_hold);
|
||||
actionCollection()->addAction("action_transfer", action_transfer);
|
||||
actionCollection()->addAction("action_record", action_record);
|
||||
actionCollection()->addAction("action_main", action_main);
|
||||
actionCollection()->addAction("action_history", action_history);
|
||||
actionCollection()->addAction("action_addressBook", action_addressBook);
|
||||
actionCollection()->addAction("action_mailBox", action_mailBox);
|
||||
actionCollection()->addAction("action_close", action_close);
|
||||
KAction * action_quit = KStandardAction::quit(this, SLOT(quitButton()), 0);
|
||||
actionCollection()->addAction("action_quit", action_quit);
|
||||
|
||||
|
||||
actionCollection()->addAction("action_displayVolumeControls", view->action_displayVolumeControls);
|
||||
actionCollection()->addAction("action_displayDialpad", view->action_displayDialpad);
|
||||
actionCollection()->addAction("action_configureSflPhone", view->action_configureSflPhone);
|
||||
// actionCollection()->addAction("action_configureAccounts", view->action_configureAccounts);
|
||||
// actionCollection()->addAction("action_configureAudio", view->action_configureAudio);
|
||||
actionCollection()->addAction("action_accountCreationWizard", view->action_accountCreationWizard);
|
||||
actionCollection()->addAction("action_displayVolumeControls", action_displayVolumeControls);
|
||||
actionCollection()->addAction("action_displayDialpad", action_displayDialpad);
|
||||
actionCollection()->addAction("action_configureSflPhone", action_configureSflPhone);
|
||||
actionCollection()->addAction("action_accountCreationWizard", action_accountCreationWizard);
|
||||
|
||||
statusBarWidget = new QLabel();
|
||||
statusBar()->addWidget(statusBarWidget);
|
||||
|
||||
QToolBar * toolbar = new QToolBar(this);
|
||||
this->addToolBar(Qt::TopToolBarArea, toolbar);
|
||||
toolbar->addAction(view->action_accept);
|
||||
toolbar->addAction(view->action_refuse);
|
||||
toolbar->addAction(view->action_hold);
|
||||
toolbar->addAction(view->action_transfer);
|
||||
toolbar->addAction(view->action_record);
|
||||
toolbar->addSeparator();
|
||||
toolbar->addAction(view->action_history);
|
||||
toolbar->addAction(view->action_addressBook);
|
||||
toolbar->addSeparator();
|
||||
toolbar->addAction(view->action_mailBox);
|
||||
toolbar->setIconSize(QSize(TOOLBAR_SIZE,TOOLBAR_SIZE));
|
||||
|
||||
|
||||
trayIconMenu = new QMenu(this);
|
||||
trayIconMenu->addAction(action_quit);
|
||||
|
||||
@ -156,6 +167,17 @@ void SFLPhone::setupActions()
|
||||
trayIcon->show();
|
||||
|
||||
iconChanged = false;
|
||||
|
||||
QString rcFilePath = QString(DATA_INSTALL_DIR) + "/sflphone-client-kde/sflphone-client-kdeui.rc";
|
||||
if(! QFile::exists(rcFilePath))
|
||||
{
|
||||
QDir dir;
|
||||
dir.cdUp();
|
||||
dir.cd("data");
|
||||
rcFilePath = dir.filePath("sflphone-client-kdeui.rc");
|
||||
}
|
||||
qDebug() << "rcFilePath = " << rcFilePath ;
|
||||
createGUI(rcFilePath);
|
||||
|
||||
}
|
||||
|
||||
@ -252,9 +274,102 @@ void SFLPhone::on_trayIcon_activated(QSystemTrayIcon::ActivationReason reason)
|
||||
}
|
||||
|
||||
|
||||
void SFLPhone::on_view_statusMessageChanged(const QString & message)
|
||||
void SFLPhone::on_view_statusMessageChangeAsked(const QString & message)
|
||||
{
|
||||
qDebug() << "on_view_statusMessageChanged : " + message;
|
||||
qDebug() << "on_view_statusMessageChangeAsked : " + message;
|
||||
statusBarWidget->setText(message);
|
||||
}
|
||||
|
||||
void SFLPhone::on_view_windowTitleChangeAsked(const QString & message)
|
||||
{
|
||||
qDebug() << "on_view_windowTitleChangeAsked : " + message;
|
||||
setWindowTitle(message);
|
||||
}
|
||||
|
||||
void SFLPhone::on_view_enabledActionsChangeAsked(const bool * enabledActions)
|
||||
{
|
||||
qDebug() << "on_view_enabledActionsChangeAsked";
|
||||
action_accept->setEnabled(enabledActions[SFLPhone::Accept]);
|
||||
action_refuse->setEnabled(enabledActions[SFLPhone::Refuse]);
|
||||
action_hold->setEnabled(enabledActions[SFLPhone::Hold]);
|
||||
action_transfer->setEnabled(enabledActions[SFLPhone::Transfer]);
|
||||
action_record->setEnabled(enabledActions[SFLPhone::Record]);
|
||||
action_mailBox->setEnabled(enabledActions[SFLPhone::Mailbox]);
|
||||
}
|
||||
|
||||
void SFLPhone::on_view_actionIconsChangeAsked(const QString * actionIcons)
|
||||
{
|
||||
qDebug() << "on_view_actionIconsChangeAsked";
|
||||
action_accept->setIcon(QIcon(actionIcons[SFLPhone::Accept]));
|
||||
action_refuse->setIcon(QIcon(actionIcons[SFLPhone::Refuse]));
|
||||
action_hold->setIcon(QIcon(actionIcons[SFLPhone::Hold]));
|
||||
action_transfer->setIcon(QIcon(actionIcons[SFLPhone::Transfer]));
|
||||
action_record->setIcon(QIcon(actionIcons[SFLPhone::Record]));
|
||||
action_mailBox->setIcon(QIcon(actionIcons[SFLPhone::Mailbox]));
|
||||
}
|
||||
|
||||
void SFLPhone::on_view_actionTextsChangeAsked(const QString * actionTexts)
|
||||
{
|
||||
qDebug() << "on_view_actionTextsChangeAsked";
|
||||
action_accept->setText(actionTexts[SFLPhone::Accept]);
|
||||
action_refuse->setText(actionTexts[SFLPhone::Refuse]);
|
||||
action_hold->setText(actionTexts[SFLPhone::Hold]);
|
||||
action_transfer->setText(actionTexts[SFLPhone::Transfer]);
|
||||
action_record->setText(actionTexts[SFLPhone::Record]);
|
||||
action_mailBox->setText(actionTexts[SFLPhone::Mailbox]);
|
||||
}
|
||||
|
||||
|
||||
void SFLPhone::on_view_transferCheckStateChangeAsked(bool transferCheckState)
|
||||
{
|
||||
qDebug() << "Changing transfer action checkState";
|
||||
action_transfer->setChecked(transferCheckState);
|
||||
}
|
||||
|
||||
void SFLPhone::on_view_recordCheckStateChangeAsked(bool recordCheckState)
|
||||
{
|
||||
qDebug() << "Changing record action checkState";
|
||||
action_record->setChecked(recordCheckState);
|
||||
}
|
||||
|
||||
void SFLPhone::updateScreen(QAction * action)
|
||||
{
|
||||
if(action == action_main) view->changeScreen(SCREEN_MAIN);
|
||||
else if(action == action_history) view->changeScreen(SCREEN_HISTORY);
|
||||
else if(action == action_addressBook) view->changeScreen(SCREEN_ADDRESS);
|
||||
}
|
||||
|
||||
void SFLPhone::on_view_screenChanged(int screen)
|
||||
{
|
||||
qDebug() << "on_view_screenChanged";
|
||||
if(screen == SCREEN_MAIN) action_main->setChecked(true);
|
||||
else if(screen == SCREEN_HISTORY) action_history->setChecked(true);
|
||||
else if(screen == SCREEN_ADDRESS) action_addressBook->setChecked(true);
|
||||
}
|
||||
|
||||
QList <QAction *> SFLPhone::getCallActions()
|
||||
{
|
||||
QList<QAction *> callActions = QList<QAction *>();
|
||||
callActions.insert((int) Accept, action_accept);
|
||||
callActions.insert((int) Refuse, action_refuse);
|
||||
callActions.insert((int) Hold, action_hold);
|
||||
callActions.insert((int)Transfer, action_transfer);
|
||||
callActions.insert((int) Record, action_record);
|
||||
callActions.insert((int) Mailbox, action_mailBox);
|
||||
return callActions;
|
||||
}
|
||||
|
||||
void SFLPhone::on_view_incomingCall(const Call * call)
|
||||
{
|
||||
ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance();
|
||||
trayIconSignal();
|
||||
if(configurationManager.popupMode())
|
||||
{
|
||||
putForeground();
|
||||
}
|
||||
if(configurationManager.getNotify())
|
||||
{
|
||||
sendNotif(call->getPeerName().isEmpty() ? call->getPeerPhoneNumber() : call->getPeerName());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -30,6 +30,8 @@
|
||||
#include <QSystemTrayIcon>
|
||||
|
||||
#include <KXmlGuiWindow>
|
||||
#include <KAction>
|
||||
#include <QActionGroup>
|
||||
|
||||
#include "ui_sflphone_kdeview_base.h"
|
||||
#include "CallList.h"
|
||||
@ -42,10 +44,36 @@ class sflphone_kdeView;
|
||||
|
||||
class SFLPhone : public KXmlGuiWindow
|
||||
{
|
||||
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
enum CallAction {
|
||||
Accept,
|
||||
Refuse,
|
||||
Hold,
|
||||
Transfer,
|
||||
Record,
|
||||
Mailbox,
|
||||
NumberOfCallActions};
|
||||
|
||||
private:
|
||||
KAction * action_accept;
|
||||
KAction * action_refuse;
|
||||
KAction * action_hold;
|
||||
KAction * action_transfer;
|
||||
KAction * action_record;
|
||||
QActionGroup * action_screen;
|
||||
KAction * action_main;
|
||||
KAction * action_history;
|
||||
KAction * action_addressBook;
|
||||
KAction * action_mailBox;
|
||||
KAction * action_close;
|
||||
KAction * action_quit;
|
||||
KAction * action_displayVolumeControls;
|
||||
KAction * action_displayDialpad;
|
||||
KAction * action_configureSflPhone;
|
||||
KAction * action_accountCreationWizard;
|
||||
|
||||
sflphone_kdeView * view;
|
||||
QMenu *trayIconMenu;
|
||||
bool iconChanged;
|
||||
@ -68,12 +96,22 @@ public:
|
||||
void putForeground();
|
||||
void trayIconSignal();
|
||||
sflphone_kdeView * getView();
|
||||
QList<QAction *> getCallActions();
|
||||
|
||||
|
||||
private slots:
|
||||
void on_trayIcon_activated(QSystemTrayIcon::ActivationReason reason);
|
||||
void on_trayIcon_messageClicked();
|
||||
void on_view_statusMessageChanged(const QString & message);
|
||||
void on_view_statusMessageChangeAsked(const QString & message);
|
||||
void on_view_windowTitleChangeAsked(const QString & message);
|
||||
void on_view_enabledActionsChangeAsked(const bool * enabledActions);
|
||||
void on_view_actionIconsChangeAsked(const QString * actionIcons);
|
||||
void on_view_actionTextsChangeAsked(const QString * actionTexts);
|
||||
void on_view_transferCheckStateChangeAsked(bool transferCheckState);
|
||||
void on_view_recordCheckStateChangeAsked(bool recordCheckState);
|
||||
void updateScreen(QAction * action);
|
||||
void on_view_screenChanged(int screen);
|
||||
void on_view_incomingCall(const Call * call);
|
||||
|
||||
void quitButton();
|
||||
|
||||
|
@ -62,10 +62,10 @@ int main(int argc, char **argv)
|
||||
// SortableCodecListWidget * cl = new SortableCodecListWidget();
|
||||
// cl->show();
|
||||
|
||||
QListView * v = new QListView();
|
||||
v->setFlow(QListView::TopToBottom);
|
||||
v->setModel(new AccountListModel());
|
||||
v->show();
|
||||
// QListView * v = new QListView();
|
||||
// v->setFlow(QListView::TopToBottom);
|
||||
// v->setModel(new AccountListModel());
|
||||
// v->show();
|
||||
|
||||
return app.exec();
|
||||
}
|
||||
|
@ -48,8 +48,11 @@
|
||||
#define ACTION_LABEL_UNHOLD i18n("Hold off")
|
||||
#define ACTION_LABEL_GIVE_UP_TRANSF i18n("Give up transfer")
|
||||
#define ACTION_LABEL_CALL_BACK i18n("Call back")
|
||||
// #define ACTION_LABEL_GIVE_UP_SEARCH i18n("Give up search")
|
||||
#define ACTION_LABEL_MAILBOX i18n("Voicemail")
|
||||
|
||||
#define SCREEN_MAIN 0
|
||||
#define SCREEN_HISTORY 1
|
||||
#define SCREEN_ADDRESS 2
|
||||
|
||||
#define ICON_INCOMING ":/images/icons/ring.svg"
|
||||
#define ICON_RINGING ":/images/icons/ring.svg"
|
||||
@ -70,6 +73,7 @@
|
||||
#define ICON_EXEC_TRANSF ":/images/icons/call.svg"
|
||||
#define ICON_REC_DEL_OFF ":/images/icons/record_disabled.svg"
|
||||
#define ICON_REC_DEL_ON ":/images/icons/record.svg"
|
||||
#define ICON_MAILBOX ":/images/icons/mailbox.svg"
|
||||
|
||||
#define ICON_REC_VOL_0 ":/images/icons/mic.svg"
|
||||
#define ICON_REC_VOL_1 ":/images/icons/mic_25.svg"
|
||||
@ -81,6 +85,13 @@
|
||||
#define ICON_SND_VOL_2 ":/images/icons/speaker_50.svg"
|
||||
#define ICON_SND_VOL_3 ":/images/icons/speaker_75.svg"
|
||||
|
||||
#define ICON_SCREEN_MAIN ":/images/icons/sflphone.svg"
|
||||
#define ICON_SCREEN_HISTORY ":/images/icons/history2.svg"
|
||||
#define ICON_SCREEN_ADDRESS ":/images/icons/x-office-address-book.png"
|
||||
|
||||
#define ICON_DISPLAY_VOLUME_CONSTROLS ":/images/icons/icon_volume_off.svg"
|
||||
#define ICON_DISPLAY_DIALPAD ":/images/icons/icon_dialpad.svg"
|
||||
|
||||
#define ICON_HISTORY_INCOMING ":/images/icons/incoming.svg"
|
||||
#define ICON_HISTORY_OUTGOING ":/images/icons/outgoing.svg"
|
||||
#define ICON_HISTORY_MISSED ":/images/icons/missed.svg"
|
||||
|
@ -59,7 +59,6 @@ sflphone_kdeView::sflphone_kdeView(QWidget *parent)
|
||||
{
|
||||
setupUi(this);
|
||||
|
||||
action_configureSflPhone->setIcon(KIcon("preferences-other"));
|
||||
|
||||
ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance();
|
||||
CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance();
|
||||
@ -121,9 +120,7 @@ sflphone_kdeView::sflphone_kdeView(QWidget *parent)
|
||||
|
||||
stackedWidget_screen->setCurrentWidget(page_callList);
|
||||
|
||||
loadWindow();
|
||||
|
||||
emit statusMessageChanged("youhou");
|
||||
// loadWindow();
|
||||
|
||||
}
|
||||
|
||||
@ -139,9 +136,6 @@ sflphone_kdeView::~sflphone_kdeView()
|
||||
void sflphone_kdeView::loadWindow()
|
||||
{
|
||||
qDebug() << "loadWindow";
|
||||
ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance();
|
||||
action_displayVolumeControls->setChecked(configurationManager.getVolumeControls());
|
||||
action_displayDialpad->setChecked(configurationManager.getDialpad());
|
||||
updateWindowCallState();
|
||||
updateRecordButton();
|
||||
updateVolumeButton();
|
||||
@ -152,6 +146,7 @@ void sflphone_kdeView::loadWindow()
|
||||
updateSearchHistory();
|
||||
updateAddressBookEnabled();
|
||||
updateAddressBook();
|
||||
updateStatusMessage();
|
||||
}
|
||||
|
||||
|
||||
@ -282,24 +277,6 @@ void sflphone_kdeView::backspace()
|
||||
}
|
||||
}
|
||||
}
|
||||
if(stackedWidget_screen->currentWidget() == page_callHistory)
|
||||
{
|
||||
qDebug() << "In call history.";
|
||||
int textSize = lineEdit_searchHistory->text().size();
|
||||
if(textSize > 0)
|
||||
{
|
||||
lineEdit_searchHistory->setText(lineEdit_searchHistory->text().remove(textSize-1, 1));
|
||||
}
|
||||
}
|
||||
if(stackedWidget_screen->currentWidget() == page_addressBook)
|
||||
{
|
||||
qDebug() << "In address book.";
|
||||
int textSize = lineEdit_addressBook->text().size();
|
||||
if(textSize > 0)
|
||||
{
|
||||
lineEdit_addressBook->setText(lineEdit_addressBook->text().remove(textSize-1, 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sflphone_kdeView::escape()
|
||||
@ -388,8 +365,9 @@ void sflphone_kdeView::enter()
|
||||
}
|
||||
else
|
||||
{
|
||||
action_history->setChecked(false);
|
||||
stackedWidget_screen->setCurrentWidget(page_callList);
|
||||
// action_history->setChecked(false);
|
||||
// stackedWidget_screen->setCurrentWidget(page_callList);
|
||||
changeScreen(SCREEN_MAIN);
|
||||
|
||||
Call * pastCall = callList->findCallByHistoryItem(item);
|
||||
if (!pastCall)
|
||||
@ -413,8 +391,9 @@ void sflphone_kdeView::enter()
|
||||
}
|
||||
else
|
||||
{
|
||||
action_addressBook->setChecked(false);
|
||||
stackedWidget_screen->setCurrentWidget(page_callList);
|
||||
// action_addressBook->setChecked(false);
|
||||
// stackedWidget_screen->setCurrentWidget(page_callList);
|
||||
changeScreen(SCREEN_MAIN);
|
||||
ContactItemWidget * w = (ContactItemWidget *) (listWidget_addressBook->itemWidget(item));
|
||||
Call * call = callList->addDialingCall(w->getContactName());
|
||||
call->appendItemText(w->getContactNumber());
|
||||
@ -466,94 +445,92 @@ void sflphone_kdeView::updateCallItem(Call * call)
|
||||
void sflphone_kdeView::updateWindowCallState()
|
||||
{
|
||||
qDebug() << "updateWindowCallState";
|
||||
QListWidgetItem * item;
|
||||
|
||||
bool enabledActions[6]= {true,true,true,true,true,true};
|
||||
QString buttonIconFiles[3] = {ICON_CALL, ICON_HANGUP, ICON_HOLD};
|
||||
QString actionTexts[5] = {ACTION_LABEL_CALL, ACTION_LABEL_HANG_UP, ACTION_LABEL_HOLD, ACTION_LABEL_TRANSFER, ACTION_LABEL_RECORD};
|
||||
QString buttonIconFiles[6] = {ICON_CALL, ICON_HANGUP, ICON_HOLD, ICON_TRANSFER, ICON_REC_DEL_OFF, ICON_MAILBOX};
|
||||
QString actionTexts[6] = {ACTION_LABEL_CALL, ACTION_LABEL_HANG_UP, ACTION_LABEL_HOLD, ACTION_LABEL_TRANSFER, ACTION_LABEL_RECORD, ACTION_LABEL_MAILBOX};
|
||||
|
||||
QListWidgetItem * item;
|
||||
|
||||
bool transfer = false;
|
||||
//tells whether the call is in recording position
|
||||
bool recordActivated = false;
|
||||
//tells whether the call can be recorded in the state it is right now
|
||||
bool recordEnabled = false;
|
||||
enabledActions[5] = firstRegisteredAccount() && ! firstRegisteredAccount()->getAccountDetail(ACCOUNT_MAILBOX).isEmpty();
|
||||
enabledActions[SFLPhone::Mailbox] = firstRegisteredAccount() && ! firstRegisteredAccount()->getAccountDetail(ACCOUNT_MAILBOX).isEmpty();
|
||||
if(stackedWidget_screen->currentWidget() == page_callList)
|
||||
{
|
||||
item = listWidget_callList->currentItem();
|
||||
if (!item)
|
||||
{
|
||||
qDebug() << "No item selected.";
|
||||
enabledActions[1] = false;
|
||||
enabledActions[2] = false;
|
||||
enabledActions[3] = false;
|
||||
enabledActions[4] = false;
|
||||
enabledActions[SFLPhone::Refuse] = false;
|
||||
enabledActions[SFLPhone::Hold] = false;
|
||||
enabledActions[SFLPhone::Transfer] = false;
|
||||
enabledActions[SFLPhone::Record] = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
Call * call = (*callList)[item];
|
||||
call_state state = call->getState();
|
||||
//qDebug() << "calling getIsRecording on " << call->getCallId();
|
||||
//recordActivated = callManager.getIsRecording(call->getCallId());
|
||||
recordActivated = call->getRecording();
|
||||
switch (state)
|
||||
{
|
||||
case CALL_STATE_INCOMING:
|
||||
qDebug() << "Reached CALL_STATE_INCOMING with call " << (*callList)[item]->getCallId();
|
||||
buttonIconFiles[0] = ICON_ACCEPT;
|
||||
buttonIconFiles[1] = ICON_REFUSE;
|
||||
actionTexts[0] = ACTION_LABEL_ACCEPT;
|
||||
actionTexts[1] = ACTION_LABEL_REFUSE;
|
||||
buttonIconFiles[SFLPhone::Accept] = ICON_ACCEPT;
|
||||
buttonIconFiles[SFLPhone::Refuse] = ICON_REFUSE;
|
||||
actionTexts[SFLPhone::Accept] = ACTION_LABEL_ACCEPT;
|
||||
actionTexts[SFLPhone::Refuse] = ACTION_LABEL_REFUSE;
|
||||
break;
|
||||
case CALL_STATE_RINGING:
|
||||
qDebug() << "Reached CALL_STATE_RINGING with call " << (*callList)[item]->getCallId();
|
||||
enabledActions[2] = false;
|
||||
enabledActions[3] = false;
|
||||
enabledActions[SFLPhone::Hold] = false;
|
||||
enabledActions[SFLPhone::Transfer] = false;
|
||||
break;
|
||||
case CALL_STATE_CURRENT:
|
||||
qDebug() << "details = " << CallManagerInterfaceSingleton::getInstance().getCallDetails(call->getCallId()).value();
|
||||
qDebug() << "Reached CALL_STATE_CURRENT with call " << (*callList)[item]->getCallId();
|
||||
recordEnabled = true;
|
||||
buttonIconFiles[SFLPhone::Record] = ICON_REC_DEL_ON;
|
||||
break;
|
||||
case CALL_STATE_DIALING:
|
||||
qDebug() << "Reached CALL_STATE_DIALING with call " << (*callList)[item]->getCallId();
|
||||
enabledActions[2] = false;
|
||||
enabledActions[3] = false;
|
||||
enabledActions[4] = false;
|
||||
actionTexts[0] = ACTION_LABEL_ACCEPT;
|
||||
buttonIconFiles[0] = ICON_ACCEPT;
|
||||
enabledActions[SFLPhone::Hold] = false;
|
||||
enabledActions[SFLPhone::Transfer] = false;
|
||||
enabledActions[SFLPhone::Record] = false;
|
||||
actionTexts[SFLPhone::Accept] = ACTION_LABEL_ACCEPT;
|
||||
buttonIconFiles[SFLPhone::Accept] = ICON_ACCEPT;
|
||||
break;
|
||||
case CALL_STATE_HOLD:
|
||||
qDebug() << "Reached CALL_STATE_HOLD with call " << (*callList)[item]->getCallId();
|
||||
buttonIconFiles[2] = ICON_UNHOLD;
|
||||
actionTexts[2] = ACTION_LABEL_UNHOLD;
|
||||
buttonIconFiles[SFLPhone::Hold] = ICON_UNHOLD;
|
||||
actionTexts[SFLPhone::Hold] = ACTION_LABEL_UNHOLD;
|
||||
break;
|
||||
case CALL_STATE_FAILURE:
|
||||
qDebug() << "Reached CALL_STATE_FAILURE with call " << (*callList)[item]->getCallId();
|
||||
enabledActions[0] = false;
|
||||
enabledActions[2] = false;
|
||||
enabledActions[3] = false;
|
||||
enabledActions[4] = false;
|
||||
enabledActions[SFLPhone::Accept] = false;
|
||||
enabledActions[SFLPhone::Hold] = false;
|
||||
enabledActions[SFLPhone::Transfer] = false;
|
||||
enabledActions[SFLPhone::Record] = false;
|
||||
break;
|
||||
case CALL_STATE_BUSY:
|
||||
qDebug() << "Reached CALL_STATE_BUSY with call " << (*callList)[item]->getCallId();
|
||||
enabledActions[0] = false;
|
||||
enabledActions[2] = false;
|
||||
enabledActions[3] = false;
|
||||
enabledActions[4] = false;
|
||||
enabledActions[SFLPhone::Accept] = false;
|
||||
enabledActions[SFLPhone::Hold] = false;
|
||||
enabledActions[SFLPhone::Transfer] = false;
|
||||
enabledActions[SFLPhone::Record] = false;
|
||||
break;
|
||||
case CALL_STATE_TRANSFER:
|
||||
qDebug() << "Reached CALL_STATE_TRANSFER with call " << (*callList)[item]->getCallId();
|
||||
buttonIconFiles[0] = ICON_EXEC_TRANSF;
|
||||
actionTexts[3] = ACTION_LABEL_GIVE_UP_TRANSF;
|
||||
buttonIconFiles[SFLPhone::Accept] = ICON_EXEC_TRANSF;
|
||||
actionTexts[SFLPhone::Transfer] = ACTION_LABEL_GIVE_UP_TRANSF;
|
||||
transfer = true;
|
||||
recordEnabled = true;
|
||||
buttonIconFiles[SFLPhone::Record] = ICON_REC_DEL_ON;
|
||||
break;
|
||||
case CALL_STATE_TRANSF_HOLD:
|
||||
qDebug() << "Reached CALL_STATE_TRANSF_HOLD with call " << (*callList)[item]->getCallId();
|
||||
buttonIconFiles[0] = ICON_EXEC_TRANSF;
|
||||
buttonIconFiles[2] = ICON_UNHOLD;
|
||||
actionTexts[3] = ACTION_LABEL_GIVE_UP_TRANSF;
|
||||
actionTexts[2] = ACTION_LABEL_UNHOLD;
|
||||
buttonIconFiles[SFLPhone::Accept] = ICON_EXEC_TRANSF;
|
||||
buttonIconFiles[SFLPhone::Hold] = ICON_UNHOLD;
|
||||
actionTexts[SFLPhone::Transfer] = ACTION_LABEL_GIVE_UP_TRANSF;
|
||||
actionTexts[SFLPhone::Hold] = ACTION_LABEL_UNHOLD;
|
||||
transfer = true;
|
||||
break;
|
||||
case CALL_STATE_OVER:
|
||||
@ -571,79 +548,54 @@ void sflphone_kdeView::updateWindowCallState()
|
||||
if(stackedWidget_screen->currentWidget() == page_callHistory)
|
||||
{
|
||||
item = listWidget_callHistory->currentItem();
|
||||
buttonIconFiles[0] = ICON_ACCEPT;
|
||||
actionTexts[0] = ACTION_LABEL_CALL_BACK;
|
||||
// actionTexts[1] = ACTION_LABEL_GIVE_UP_SEARCH;
|
||||
buttonIconFiles[SFLPhone::Accept] = ICON_ACCEPT;
|
||||
actionTexts[SFLPhone::Accept] = ACTION_LABEL_CALL_BACK;
|
||||
if (!item)
|
||||
{
|
||||
qDebug() << "No item selected.";
|
||||
enabledActions[0] = false;
|
||||
enabledActions[1] = false;
|
||||
enabledActions[2] = false;
|
||||
enabledActions[3] = false;
|
||||
enabledActions[4] = false;
|
||||
enabledActions[SFLPhone::Accept] = false;
|
||||
enabledActions[SFLPhone::Refuse] = false;
|
||||
enabledActions[SFLPhone::Hold] = false;
|
||||
enabledActions[SFLPhone::Transfer] = false;
|
||||
enabledActions[SFLPhone::Record] = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
enabledActions[1] = false;
|
||||
enabledActions[2] = false;
|
||||
enabledActions[3] = false;
|
||||
enabledActions[4] = false;
|
||||
enabledActions[SFLPhone::Refuse] = false;
|
||||
enabledActions[SFLPhone::Hold] = false;
|
||||
enabledActions[SFLPhone::Transfer] = false;
|
||||
enabledActions[SFLPhone::Record] = false;
|
||||
}
|
||||
// if(!lineEdit_searchHistory->text().isEmpty())
|
||||
// {
|
||||
// enabledActions[1] = true;
|
||||
// }
|
||||
}
|
||||
if(stackedWidget_screen->currentWidget() == page_addressBook)
|
||||
{
|
||||
item = listWidget_addressBook->currentItem();
|
||||
buttonIconFiles[0] = ICON_ACCEPT;
|
||||
// actionTexts[1] = ACTION_LABEL_GIVE_UP_SEARCH;
|
||||
buttonIconFiles[SFLPhone::Accept] = ICON_ACCEPT;
|
||||
if (!item)
|
||||
{
|
||||
qDebug() << "No item selected.";
|
||||
enabledActions[0] = false;
|
||||
enabledActions[1] = false;
|
||||
enabledActions[2] = false;
|
||||
enabledActions[3] = false;
|
||||
enabledActions[4] = false;
|
||||
enabledActions[SFLPhone::Accept] = false;
|
||||
enabledActions[SFLPhone::Refuse] = false;
|
||||
enabledActions[SFLPhone::Hold] = false;
|
||||
enabledActions[SFLPhone::Transfer] = false;
|
||||
enabledActions[SFLPhone::Record] = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
enabledActions[1] = false;
|
||||
enabledActions[2] = false;
|
||||
enabledActions[3] = false;
|
||||
enabledActions[4] = false;
|
||||
enabledActions[SFLPhone::Refuse] = false;
|
||||
enabledActions[SFLPhone::Hold] = false;
|
||||
enabledActions[SFLPhone::Transfer] = false;
|
||||
enabledActions[SFLPhone::Record] = false;
|
||||
}
|
||||
// if(!lineEdit_addressBook->text().isEmpty())
|
||||
// {
|
||||
// enabledActions[1] = true;
|
||||
// }
|
||||
}
|
||||
|
||||
qDebug() << "Updating Window.";
|
||||
|
||||
action_accept->setEnabled(enabledActions[0]);
|
||||
action_refuse->setEnabled(enabledActions[1]);
|
||||
action_hold->setEnabled(enabledActions[2]);
|
||||
action_transfer->setEnabled(enabledActions[3]);
|
||||
action_record->setEnabled(enabledActions[4]);
|
||||
action_mailBox->setEnabled(enabledActions[5]);
|
||||
|
||||
action_record->setIcon(QIcon(recordEnabled ? ICON_REC_DEL_ON : ICON_REC_DEL_OFF));
|
||||
action_accept->setIcon(QIcon(buttonIconFiles[0]));
|
||||
action_refuse->setIcon(QIcon(buttonIconFiles[1]));
|
||||
action_hold->setIcon(QIcon(buttonIconFiles[2]));
|
||||
|
||||
action_accept->setText(actionTexts[0]);
|
||||
action_refuse->setText(actionTexts[1]);
|
||||
action_hold->setText(actionTexts[2]);
|
||||
action_transfer->setText(actionTexts[3]);
|
||||
action_record->setText(actionTexts[4]);
|
||||
|
||||
action_transfer->setChecked(transfer);
|
||||
action_record->setChecked(recordActivated);
|
||||
emit enabledActionsChangeAsked(enabledActions);
|
||||
emit actionIconsChangeAsked(buttonIconFiles);
|
||||
emit actionTextsChangeAsked(actionTexts);
|
||||
emit transferCheckStateChangeAsked(transfer);
|
||||
emit recordCheckStateChangeAsked(recordActivated);
|
||||
|
||||
qDebug() << "Window updated.";
|
||||
}
|
||||
@ -898,11 +850,11 @@ void sflphone_kdeView::updateStatusMessage()
|
||||
Account * account = firstRegisteredAccount();
|
||||
if(account == NULL)
|
||||
{
|
||||
emit statusMessageChanged(i18n("No registered accounts"));
|
||||
emit statusMessageChangeAsked(i18n("No registered accounts"));
|
||||
}
|
||||
else
|
||||
{
|
||||
emit statusMessageChanged(i18n("Using account") + " \'" + account->getAlias() + "\' (" + account->getAccountDetail(ACCOUNT_TYPE) + ")") ;
|
||||
emit statusMessageChangeAsked(i18n("Using account") + " \'" + account->getAlias() + "\' (" + account->getAccountDetail(ACCOUNT_TYPE) + ")") ;
|
||||
}
|
||||
}
|
||||
|
||||
@ -912,14 +864,14 @@ void sflphone_kdeView::updateStatusMessage()
|
||||
************ Autoconnect *************
|
||||
************************************************************/
|
||||
|
||||
void sflphone_kdeView::on_action_displayVolumeControls_triggered()
|
||||
void sflphone_kdeView::displayVolumeControls()
|
||||
{
|
||||
ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance();
|
||||
configurationManager.setVolumeControls();
|
||||
updateVolumeControls();
|
||||
}
|
||||
|
||||
void sflphone_kdeView::on_action_displayDialpad_triggered()
|
||||
void sflphone_kdeView::displayDialpad()
|
||||
{
|
||||
ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance();
|
||||
configurationManager.setDialpad();
|
||||
@ -1049,8 +1001,9 @@ void sflphone_kdeView::on_listWidget_callList_itemDoubleClicked(QListWidgetItem
|
||||
void sflphone_kdeView::on_listWidget_callHistory_itemDoubleClicked(QListWidgetItem * item)
|
||||
{
|
||||
qDebug() << "on_listWidget_callHistory_itemDoubleClicked";
|
||||
action_history->setChecked(false);
|
||||
stackedWidget_screen->setCurrentWidget(page_callList);
|
||||
// action_history->setChecked(false);
|
||||
// stackedWidget_screen->setCurrentWidget(page_callList);
|
||||
changeScreen(SCREEN_MAIN);
|
||||
Call * pastCall = callList->findCallByHistoryItem(item);
|
||||
Call * call = callList->addDialingCall(pastCall->getPeerName(), pastCall->getAccountId());
|
||||
call->appendItemText(pastCall->getPeerPhoneNumber());
|
||||
@ -1063,8 +1016,9 @@ void sflphone_kdeView::on_listWidget_callHistory_itemDoubleClicked(QListWidgetIt
|
||||
void sflphone_kdeView::on_listWidget_addressBook_itemDoubleClicked(QListWidgetItem * item)
|
||||
{
|
||||
qDebug() << "on_listWidget_addressBook_itemDoubleClicked";
|
||||
action_addressBook->setChecked(false);
|
||||
stackedWidget_screen->setCurrentWidget(page_callList);
|
||||
// action_addressBook->setChecked(false);
|
||||
// stackedWidget_screen->setCurrentWidget(page_callList);
|
||||
changeScreen(SCREEN_MAIN);
|
||||
ContactItemWidget * w = (ContactItemWidget *) (listWidget_addressBook->itemWidget(item));
|
||||
Call * call = callList->addDialingCall(w->getContactName());
|
||||
call->appendItemText(w->getContactNumber());
|
||||
@ -1076,22 +1030,21 @@ void sflphone_kdeView::on_listWidget_addressBook_itemDoubleClicked(QListWidgetIt
|
||||
void sflphone_kdeView::on_stackedWidget_screen_currentChanged(int index)
|
||||
{
|
||||
qDebug() << "on_stackedWidget_screen_currentChanged";
|
||||
KXmlGuiWindow * window = (KXmlGuiWindow * ) this->parent();
|
||||
switch(index)
|
||||
{
|
||||
case 0:
|
||||
case SCREEN_MAIN:
|
||||
qDebug() << "Switched to call list screen.";
|
||||
window->setWindowTitle(i18n("SFLphone") + " - " + i18n("Main screen"));
|
||||
emit windowTitleChangeAsked(i18n("SFLphone") + " - " + i18n("Main screen"));
|
||||
break;
|
||||
case 1:
|
||||
case SCREEN_HISTORY:
|
||||
qDebug() << "Switched to call history screen.";
|
||||
updateCallHistory();
|
||||
window->setWindowTitle(i18n("SFLphone") + " - " + i18n("Call history"));
|
||||
emit windowTitleChangeAsked(i18n("SFLphone") + " - " + i18n("Call history"));
|
||||
break;
|
||||
case 2:
|
||||
case SCREEN_ADDRESS:
|
||||
qDebug() << "Switched to address book screen.";
|
||||
updateAddressBook();
|
||||
window->setWindowTitle(i18n("SFLphone") + " - " + i18n("Address book"));
|
||||
emit windowTitleChangeAsked(i18n("SFLphone") + " - " + i18n("Address book"));
|
||||
break;
|
||||
default:
|
||||
qDebug() << "Error : reached an unknown index \"" << index << "\" with stackedWidget_screen.";
|
||||
@ -1110,12 +1063,13 @@ void sflphone_kdeView::contextMenuEvent(QContextMenuEvent *event)
|
||||
this , SLOT(editBeforeCall()));
|
||||
menu.addAction(action_edit);
|
||||
}
|
||||
|
||||
menu.addAction(action_accept);
|
||||
menu.addAction(action_refuse);
|
||||
menu.addAction(action_hold);
|
||||
menu.addAction(action_transfer);
|
||||
menu.addAction(action_record);
|
||||
SFLPhone * window = (SFLPhone * ) this->parent();
|
||||
QList<QAction *> callActions = window->getCallActions();
|
||||
menu.addAction(callActions.at((int) SFLPhone::Accept));
|
||||
menu.addAction(callActions[SFLPhone::Refuse]);
|
||||
menu.addAction(callActions[SFLPhone::Hold]);
|
||||
menu.addAction(callActions[SFLPhone::Transfer]);
|
||||
menu.addAction(callActions[SFLPhone::Record]);
|
||||
menu.addSeparator();
|
||||
|
||||
QAction * action = new ActionSetAccountFirst(NULL, &menu);
|
||||
@ -1136,7 +1090,6 @@ void sflphone_kdeView::contextMenuEvent(QContextMenuEvent *event)
|
||||
menu.addAction(action);
|
||||
}
|
||||
menu.exec(event->globalPos());
|
||||
|
||||
}
|
||||
|
||||
void sflphone_kdeView::editBeforeCall()
|
||||
@ -1173,9 +1126,10 @@ void sflphone_kdeView::editBeforeCall()
|
||||
QString newNumber = QInputDialog::getText(this, i18n("Edit before call"), QString(), QLineEdit::Normal, number, &ok);
|
||||
if(ok)
|
||||
{
|
||||
action_history->setChecked(false);
|
||||
action_addressBook->setChecked(false);
|
||||
stackedWidget_screen->setCurrentWidget(page_callList);
|
||||
// action_history->setChecked(false);
|
||||
// action_addressBook->setChecked(false);
|
||||
// stackedWidget_screen->setCurrentWidget(page_callList);
|
||||
changeScreen(SCREEN_MAIN);
|
||||
Call * call = callList->addDialingCall(name);
|
||||
call->appendItemText(newNumber);
|
||||
addCallToCallList(call);
|
||||
@ -1187,7 +1141,6 @@ void sflphone_kdeView::editBeforeCall()
|
||||
void sflphone_kdeView::setAccountFirst(Account * account)
|
||||
{
|
||||
qDebug() << "setAccountFirst : " << (account ? account->getAlias() : QString());
|
||||
// getAccountList()->setAccountFirst(account);
|
||||
if(account)
|
||||
{
|
||||
priorAccountId = account->getAccountId();
|
||||
@ -1212,19 +1165,19 @@ void sflphone_kdeView::on_listWidget_addressBook_currentItemChanged()
|
||||
}
|
||||
|
||||
|
||||
void sflphone_kdeView::on_action_configureSflPhone_triggered()
|
||||
void sflphone_kdeView::configureSflPhone()
|
||||
{
|
||||
configDialog->reload();
|
||||
configDialog->show();
|
||||
}
|
||||
|
||||
void sflphone_kdeView::on_action_accountCreationWizard_triggered()
|
||||
void sflphone_kdeView::accountCreationWizard()
|
||||
{
|
||||
wizard->show();
|
||||
}
|
||||
|
||||
|
||||
void sflphone_kdeView::on_action_accept_triggered()
|
||||
void sflphone_kdeView::accept()
|
||||
{
|
||||
if(stackedWidget_screen->currentWidget() == page_callList)
|
||||
{
|
||||
@ -1262,9 +1215,9 @@ void sflphone_kdeView::on_action_accept_triggered()
|
||||
}
|
||||
if(stackedWidget_screen->currentWidget() == page_callHistory)
|
||||
{
|
||||
action_history->setChecked(false);
|
||||
stackedWidget_screen->setCurrentWidget(page_callList);
|
||||
|
||||
// action_history->setChecked(false);
|
||||
// stackedWidget_screen->setCurrentWidget(page_callList);
|
||||
changeScreen(SCREEN_MAIN);
|
||||
Call * pastCall = callList->findCallByHistoryItem(listWidget_callHistory->currentItem());
|
||||
Call * call = callList->addDialingCall(pastCall->getPeerName());
|
||||
call->appendItemText(pastCall->getPeerPhoneNumber());
|
||||
@ -1274,8 +1227,9 @@ void sflphone_kdeView::on_action_accept_triggered()
|
||||
}
|
||||
if(stackedWidget_screen->currentWidget() == page_addressBook)
|
||||
{
|
||||
action_addressBook->setChecked(false);
|
||||
stackedWidget_screen->setCurrentWidget(page_callList);
|
||||
// action_addressBook->setChecked(false);
|
||||
// stackedWidget_screen->setCurrentWidget(page_callList);
|
||||
changeScreen(SCREEN_MAIN);
|
||||
ContactItemWidget * w = (ContactItemWidget *) (listWidget_addressBook->itemWidget(listWidget_addressBook->currentItem()));
|
||||
Call * call = callList->addDialingCall(w->getContactName());
|
||||
call->appendItemText(w->getContactNumber());
|
||||
@ -1285,7 +1239,7 @@ void sflphone_kdeView::on_action_accept_triggered()
|
||||
}
|
||||
}
|
||||
|
||||
void sflphone_kdeView::on_action_refuse_triggered()
|
||||
void sflphone_kdeView::refuse()
|
||||
{
|
||||
if(stackedWidget_screen->currentWidget() == page_callList)
|
||||
{
|
||||
@ -1309,7 +1263,7 @@ void sflphone_kdeView::on_action_refuse_triggered()
|
||||
}
|
||||
}
|
||||
|
||||
void sflphone_kdeView::on_action_hold_triggered()
|
||||
void sflphone_kdeView::hold()
|
||||
{
|
||||
QListWidgetItem * item = listWidget_callList->currentItem();
|
||||
if(!item)
|
||||
@ -1322,7 +1276,7 @@ void sflphone_kdeView::on_action_hold_triggered()
|
||||
}
|
||||
}
|
||||
|
||||
void sflphone_kdeView::on_action_transfer_triggered()
|
||||
void sflphone_kdeView::transfer()
|
||||
{
|
||||
QListWidgetItem * item = listWidget_callList->currentItem();
|
||||
if(!item)
|
||||
@ -1335,7 +1289,7 @@ void sflphone_kdeView::on_action_transfer_triggered()
|
||||
}
|
||||
}
|
||||
|
||||
void sflphone_kdeView::on_action_record_triggered()
|
||||
void sflphone_kdeView::record()
|
||||
{
|
||||
QListWidgetItem * item = listWidget_callList->currentItem();
|
||||
if(!item)
|
||||
@ -1348,37 +1302,7 @@ void sflphone_kdeView::on_action_record_triggered()
|
||||
}
|
||||
}
|
||||
|
||||
void sflphone_kdeView::on_action_history_triggered(bool checked)
|
||||
{
|
||||
if(checked == true)
|
||||
{
|
||||
action_addressBook->setChecked(false);
|
||||
stackedWidget_screen->setCurrentWidget(page_callHistory);
|
||||
}
|
||||
else
|
||||
{
|
||||
stackedWidget_screen->setCurrentWidget(page_callList);
|
||||
}
|
||||
updateWindowCallState();
|
||||
}
|
||||
|
||||
void sflphone_kdeView::on_action_addressBook_triggered(bool checked)
|
||||
{
|
||||
if(checked == true)
|
||||
{
|
||||
action_history->setChecked(false);
|
||||
stackedWidget_screen->setCurrentWidget(page_addressBook);
|
||||
if(lineEdit_addressBook->text().isEmpty())
|
||||
{ lineEdit_addressBook->setFocus(Qt::OtherFocusReason); }
|
||||
}
|
||||
else
|
||||
{
|
||||
stackedWidget_screen->setCurrentWidget(page_callList);
|
||||
}
|
||||
updateWindowCallState();
|
||||
}
|
||||
|
||||
void sflphone_kdeView::on_action_mailBox_triggered()
|
||||
void sflphone_kdeView::mailBox()
|
||||
{
|
||||
Account * account = firstRegisteredAccount();
|
||||
QString mailBoxNumber = account->getAccountDetail(ACCOUNT_MAILBOX);
|
||||
@ -1426,16 +1350,7 @@ void sflphone_kdeView::on1_incomingCall(const QString &accountID, const QString
|
||||
Call * call = callList->addIncomingCall(callID);
|
||||
addCallToCallList(call);
|
||||
listWidget_callList->setCurrentRow(listWidget_callList->count() - 1);
|
||||
SFLPhone * window = (SFLPhone * ) this->parent();
|
||||
window->trayIconSignal();
|
||||
if(configurationManager.popupMode())
|
||||
{
|
||||
window->putForeground();
|
||||
}
|
||||
if(configurationManager.getNotify())
|
||||
{
|
||||
window->sendNotif(call->getPeerName().isEmpty() ? call->getPeerPhoneNumber() : call->getPeerName());
|
||||
}
|
||||
emit incomingCall(call);
|
||||
}
|
||||
|
||||
void sflphone_kdeView::on1_incomingMessage(const QString &accountID, const QString &message)
|
||||
@ -1486,11 +1401,10 @@ bool sflphone_kdeView::loadAddressBook()
|
||||
|
||||
void sflphone_kdeView::updateAddressBookEnabled()
|
||||
{
|
||||
action_addressBook->setVisible(isAddressBookEnabled());
|
||||
emit addressBookEnableAsked(isAddressBookEnabled());
|
||||
if(! isAddressBookEnabled() && stackedWidget_screen->currentWidget() == page_addressBook)
|
||||
{
|
||||
stackedWidget_screen->setCurrentWidget(page_callList);
|
||||
action_history->setChecked(false);
|
||||
changeScreen(SCREEN_MAIN);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1502,4 +1416,24 @@ bool sflphone_kdeView::isAddressBookEnabled()
|
||||
return addressBookSettings[ADDRESSBOOK_ENABLE];
|
||||
}
|
||||
|
||||
void sflphone_kdeView::changeScreen(int screen)
|
||||
{
|
||||
switch(screen)
|
||||
{
|
||||
case SCREEN_MAIN:
|
||||
stackedWidget_screen->setCurrentWidget(page_callList);
|
||||
break;
|
||||
case SCREEN_HISTORY:
|
||||
stackedWidget_screen->setCurrentWidget(page_callHistory);
|
||||
break;
|
||||
case SCREEN_ADDRESS:
|
||||
stackedWidget_screen->setCurrentWidget(page_addressBook);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
updateWindowCallState();
|
||||
emit screenChanged(screen);
|
||||
}
|
||||
|
||||
#include "sflphone_kdeview.moc"
|
||||
|
@ -79,6 +79,15 @@ protected:
|
||||
|
||||
public:
|
||||
//Constructors & Destructors
|
||||
/**
|
||||
* This constructor does not load the window as it would
|
||||
* better wait for the parent window to connect to the signals
|
||||
* for updating it (statusMessageChangeAsked...).
|
||||
* You should call the loadWindow() method once
|
||||
* you have constructed the object and connected the
|
||||
* expected signals.
|
||||
* @param parent
|
||||
*/
|
||||
sflphone_kdeView(QWidget *parent);
|
||||
virtual ~sflphone_kdeView();
|
||||
|
||||
@ -236,11 +245,13 @@ public slots:
|
||||
|
||||
|
||||
void updateStatusMessage();
|
||||
|
||||
/**
|
||||
* Enable the address book search line edit.
|
||||
* To be called once the address book loading has finished.
|
||||
*/
|
||||
void enableAddressBook();
|
||||
|
||||
/**
|
||||
* Loads the address book asynchronously.
|
||||
* Calls enableAddressBook() once the address book
|
||||
@ -277,20 +288,16 @@ public slots:
|
||||
}
|
||||
}
|
||||
|
||||
void on_action_displayVolumeControls_triggered();
|
||||
void on_action_displayDialpad_triggered();
|
||||
// void on_action_configureAccounts_triggered();
|
||||
// void on_action_configureAudio_triggered();
|
||||
void on_action_configureSflPhone_triggered();
|
||||
void on_action_accountCreationWizard_triggered();
|
||||
void on_action_accept_triggered();
|
||||
void on_action_refuse_triggered();
|
||||
void on_action_hold_triggered();
|
||||
void on_action_transfer_triggered();
|
||||
void on_action_record_triggered();
|
||||
void on_action_history_triggered(bool checked);
|
||||
void on_action_addressBook_triggered(bool checked);
|
||||
void on_action_mailBox_triggered();
|
||||
void displayVolumeControls();
|
||||
void displayDialpad();
|
||||
void configureSflPhone();
|
||||
void accountCreationWizard();
|
||||
void accept();
|
||||
void refuse();
|
||||
void hold();
|
||||
void transfer();
|
||||
void record();
|
||||
void mailBox();
|
||||
|
||||
void on_widget_dialpad_typed(QString text);
|
||||
|
||||
@ -320,8 +327,20 @@ public slots:
|
||||
void on1_voiceMailNotify(const QString &accountID, int count);
|
||||
void on1_volumeChanged(const QString &device, double value);
|
||||
|
||||
void changeScreen(int screen);
|
||||
|
||||
signals:
|
||||
void statusMessageChanged(const QString & message);
|
||||
void statusMessageChangeAsked(const QString & message);
|
||||
void windowTitleChangeAsked(const QString & title);
|
||||
void enabledActionsChangeAsked(const bool * enabledActions);
|
||||
void actionIconsChangeAsked(const QString * actionIcons);
|
||||
void actionTextsChangeAsked(const QString * actionTexts);
|
||||
void transferCheckStateChangeAsked(bool transferCheckState);
|
||||
void recordCheckStateChangeAsked(bool recordCheckState);
|
||||
void addressBookEnableAsked(bool enableAddressBook);
|
||||
void screenChanged(int screen);
|
||||
void incomingCall(const Call * call);
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
@ -327,133 +327,6 @@
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
<action name="action_accept">
|
||||
<property name="icon">
|
||||
<iconset resource="../qrc/resources.qrc">
|
||||
<normaloff>:/images/icons/call.svg</normaloff>:/images/icons/call.svg</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Pick up</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_refuse">
|
||||
<property name="icon">
|
||||
<iconset resource="../qrc/resources.qrc">
|
||||
<normaloff>:/images/icons/hang_up.svg</normaloff>:/images/icons/hang_up.svg</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Hang up</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_hold">
|
||||
<property name="icon">
|
||||
<iconset resource="../qrc/resources.qrc">
|
||||
<normaloff>:/images/icons/hold.svg</normaloff>:/images/icons/hold.svg</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Hold on</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_transfer">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../qrc/resources.qrc">
|
||||
<normaloff>:/images/icons/transfert.svg</normaloff>:/images/icons/transfert.svg</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Transfer</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_history">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../qrc/resources.qrc">
|
||||
<normaloff>:/images/icons/history2.svg</normaloff>:/images/icons/history2.svg</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>History</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_mailBox">
|
||||
<property name="icon">
|
||||
<iconset resource="../qrc/resources.qrc">
|
||||
<normaloff>:/images/icons/mailbox.svg</normaloff>:/images/icons/mailbox.svg</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Voicemail</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_configureSflPhone">
|
||||
<property name="text">
|
||||
<string>Configure SFLphone</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Configure SFLphone</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_displayVolumeControls">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../qrc/resources.qrc">
|
||||
<normaloff>:/images/icons/icon_volume_off.svg</normaloff>:/images/icons/icon_volume_off.svg</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Display volume controls</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_displayDialpad">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../qrc/resources.qrc">
|
||||
<normaloff>:/images/icons/icon_dialpad.svg</normaloff>:/images/icons/icon_dialpad.svg</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Display dialpad</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_record">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset>
|
||||
<normaloff>:/images/icons/del_off.png</normaloff>:/images/icons/del_off.png</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Record</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_accountCreationWizard">
|
||||
<property name="text">
|
||||
<string>Account creation wizard</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_addressBook">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../qrc/resources.qrc">
|
||||
<normaloff>:/images/icons/x-office-address-book.png</normaloff>:/images/icons/x-office-address-book.png</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Address book</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
|
Reference in New Issue
Block a user