diff --git a/src/gui/official/JPushButton.cpp b/src/gui/official/JPushButton.cpp index b19113ac7b7df48e528bac020e8d1869a88019c4..196e940f1a82a4a1496ed70c4b61b5e29a94328f 100644 --- a/src/gui/official/JPushButton.cpp +++ b/src/gui/official/JPushButton.cpp @@ -52,7 +52,7 @@ JPushButton::setToggle(bool toggle) } QPixmap -JPushButton::transparize(const QPixmap &image) +JPushButton::transparize(const QString &image) { /** if (!p.mask()) { @@ -64,7 +64,7 @@ JPushButton::transparize(const QPixmap &image) } } */ - return image; + return QPixmap::fromMimeSource(image); } void diff --git a/src/gui/official/JPushButton.hpp b/src/gui/official/JPushButton.hpp index a6fc410e93860d86fdaedc4678e5c802f44d9cfa..617323c8b4e963daf38c47a8781a57d14dd4aeaf 100644 --- a/src/gui/official/JPushButton.hpp +++ b/src/gui/official/JPushButton.hpp @@ -45,7 +45,7 @@ public: bool isPressed() {return mIsPressed;} - static QPixmap transparize(const QPixmap &image); + static QPixmap transparize(const QString &image); public slots: /** diff --git a/src/gui/official/PhoneLine.cpp b/src/gui/official/PhoneLine.cpp index 46d25698e49f7258cf09acba1a795aa3153e4cf3..e3ddc1a58b18a1a6fa52eff534a556a0ce726f75 100644 --- a/src/gui/official/PhoneLine.cpp +++ b/src/gui/official/PhoneLine.cpp @@ -94,7 +94,7 @@ void PhoneLine::select(bool hardselect) { if(!mSelected) { - DebugOutput::instance() << tr("PhoneLine %d: I am selected.\n").arg(mLine); + DebugOutput::instance() << tr("PhoneLine %1: I am selected.\n").arg(mLine); mSelected = true; if(!hardselect) { @@ -151,7 +151,7 @@ void PhoneLine::unselect(bool hardselect) { if(mSelected) { - DebugOutput::instance() << tr("PhoneLine %d: I am unselected.\n").arg(mLine); + DebugOutput::instance() << tr("PhoneLine %1: I am unselected.\n").arg(mLine); mSelected = false; if(mIsOnError) { close(); @@ -172,7 +172,7 @@ void PhoneLine::incomming(const Call &call) { if(mCall) { - DebugOutput::instance() << tr("PhoneLine %d: Trying to set a phone line to an active call.\n").arg(mLine); + DebugOutput::instance() << tr("PhoneLine %1: Trying to set a phone line to an active call.\n").arg(mLine); } else { mCall = new Call(call); @@ -227,9 +227,9 @@ PhoneLine::call() void PhoneLine::call(const QString &to) { - DebugOutput::instance() << tr("PhoneLine %d: Calling %s.\n").arg(mLine).arg(to); + DebugOutput::instance() << tr("PhoneLine %1: Calling %2.\n").arg(mLine).arg(to); if(!mCall) { - setLineStatus(tr("Calling %s...").arg(to)); + setLineStatus(tr("Calling %1...").arg(to)); mCall = new Call(mAccount.createCall(to)); clear(); } @@ -240,7 +240,7 @@ PhoneLine::hold() { if(mCall) { setAction(tr("Holding...")); - DebugOutput::instance() << tr("PhoneLine %d: Trying to Hold.\n").arg(mLine); + DebugOutput::instance() << tr("PhoneLine %1: Trying to Hold.\n").arg(mLine); mCall->hold(); } @@ -252,7 +252,7 @@ PhoneLine::unhold() { if(mCall) { setAction("Unholding..."); - DebugOutput::instance() << tr("PhoneLine %d: Trying to Unhold.\n").arg(mLine); + DebugOutput::instance() << tr("PhoneLine %1: Trying to Unhold.\n").arg(mLine); mCall->unhold(); } } @@ -262,7 +262,7 @@ PhoneLine::answer() { if(mCall) { setAction("Answering..."); - DebugOutput::instance() << tr("PhoneLine %d: Trying to answer.\n").arg(mLine); + DebugOutput::instance() << tr("PhoneLine %1: Trying to answer.\n").arg(mLine); mCall->answer(); } } @@ -272,7 +272,7 @@ PhoneLine::hangup() { if(mCall) { setAction("Hanguping..."); - DebugOutput::instance() << tr("PhoneLine %d: Trying to Hangup.\n").arg(mLine); + DebugOutput::instance() << tr("PhoneLine %1: Trying to Hangup.\n").arg(mLine); mCall->hangup(); delete mCall; mCall = NULL; diff --git a/src/gui/official/PhoneLineManagerImpl.cpp b/src/gui/official/PhoneLineManagerImpl.cpp index 7efabc0689017f7bafeb882d68e257efa364c34b..1ec717439bad622e68df340fca28246288f7f48e 100644 --- a/src/gui/official/PhoneLineManagerImpl.cpp +++ b/src/gui/official/PhoneLineManagerImpl.cpp @@ -33,7 +33,7 @@ PhoneLineManagerImpl::PhoneLineManagerImpl() EventFactory::instance().registerEvent< WrongNumberStatus >("116"); QObject::connect(this, SIGNAL(disconnected()), this, SLOT(closeSession())); - QObject::connect(this, SIGNAL(readyToHandleEvents), + QObject::connect(this, SIGNAL(readyToHandleEvents()), this, SLOT(handleEvents())); QObject::connect(this, SIGNAL(connected()), this, SIGNAL(readyToSendStatus())); @@ -378,7 +378,8 @@ PhoneLineManagerImpl::selectLine(unsigned int line, bool hardselect) } } else { - _debug("PhoneLineManager: Tried to selected line %d, which appears to be invalid.\n", line); + DebugOutput::instance() << QObject::tr("PhoneLineManager: Tried to selected line %1, " + "which appears to be invalid.\n").arg(line); } } diff --git a/src/gui/official/PhoneLineManagerImpl.hpp b/src/gui/official/PhoneLineManagerImpl.hpp index 17b440d07bc87bec275162d06f67635fa11c015f..3633ce80c956decfc2c2d5e9bda5b4b1ca97bc21 100644 --- a/src/gui/official/PhoneLineManagerImpl.hpp +++ b/src/gui/official/PhoneLineManagerImpl.hpp @@ -50,10 +50,10 @@ signals: void readyToSendStatus(); void readyToHandleEvents(); void gotErrorOnCallStatus(); - void globalStatusSet(const QString &); - void bufferStatusSet(const QString &); - void actionSet(const QString &); - void lineStatusSet(const QString &); + void globalStatusSet(QString); + void bufferStatusSet(QString); + void actionSet(QString); + void lineStatusSet(QString); public slots: /** diff --git a/src/gui/official/RequesterImpl.cpp b/src/gui/official/RequesterImpl.cpp index 4094fc7e5fd17cf266321cf675147a61f83917e8..d418243a5a275fd1476ec005773728160718281c 100644 --- a/src/gui/official/RequesterImpl.cpp +++ b/src/gui/official/RequesterImpl.cpp @@ -174,10 +174,7 @@ RequesterImpl::generateSessionId() QString RequesterImpl::generateSequenceId() { - QString s("cSequenceID:"); - s += mSequenceIdCount; - mSequenceIdCount++; - return s; + return QString("cSequenceID:%1").arg(mSequenceIdCount++); } void diff --git a/src/gui/official/SFLLcd.cpp b/src/gui/official/SFLLcd.cpp index ab6b8574ccdc17c57176b5d0e0aec39810784a4b..065e56070b97c33dbc4518a4e5caf1100569957f 100644 --- a/src/gui/official/SFLLcd.cpp +++ b/src/gui/official/SFLLcd.cpp @@ -10,12 +10,13 @@ // Others fixed font support "Monospace", "Fixed", "MiscFixed" #define FONT_SIZE 10 -#define SCREEN "screen_main" -#define OVERSCREEN "overscreen" +#define SCREEN "images/screen_main.png" +#define OVERSCREEN "images/overscreen.png" + SFLLcd::SFLLcd(QWidget *parent) : QLabel(parent) - , mScreen(JPushButton::transparize(QPixmap::fromMimeSource(SCREEN))) - , mOverscreen(JPushButton::transparize(QPixmap::fromMimeSource(OVERSCREEN))) + , mScreen(JPushButton::transparize(SCREEN)) + , mOverscreen(JPushButton::transparize(OVERSCREEN)) , mGlobalStatusPos(-1) , mLineStatusPos(-1) , mBufferStatusPos(-1) @@ -69,7 +70,7 @@ SFLLcd::stopTiming() } void -SFLLcd::setGlobalStatus(const QString &global) +SFLLcd::setGlobalStatus(QString global) { if(textIsTooBig(global)) { mGlobalStatusPos = 0; @@ -81,7 +82,7 @@ SFLLcd::setGlobalStatus(const QString &global) } void -SFLLcd::setBufferStatus(const QString &buffer) +SFLLcd::setBufferStatus(QString buffer) { if(textIsTooBig(buffer)) { mBufferStatusPos = 0; @@ -93,7 +94,7 @@ SFLLcd::setBufferStatus(const QString &buffer) } void -SFLLcd::setLineStatus(const QString &line) +SFLLcd::setLineStatus(QString line) { if(textIsTooBig(line)) { mLineStatusPos = 0; @@ -105,7 +106,7 @@ SFLLcd::setLineStatus(const QString &line) } void -SFLLcd::setAction(const QString &line) +SFLLcd::setAction(QString line) { if(textIsTooBig(line)) { mActionPos = 0; @@ -187,7 +188,7 @@ SFLLcd::extractVisibleText(const QString &text, int &pos) int nbCharBetween = 8; - if(pos >= tmp.length() + nbCharBetween) { + if(pos > 0 && ((unsigned int)pos >= tmp.length() + nbCharBetween)) { pos = 0; } diff --git a/src/gui/official/SFLLcd.hpp b/src/gui/official/SFLLcd.hpp index e02de41869ec50751d8582f873f6b18d9b4cd1b2..bf41fb4e93ee981853a64dfd88cd64fd3b74bcdc 100644 --- a/src/gui/official/SFLLcd.hpp +++ b/src/gui/official/SFLLcd.hpp @@ -40,10 +40,10 @@ public slots: virtual void paintEvent(QPaintEvent *event); QString getTimeStatus(); - void setGlobalStatus(const QString &global); - void setLineStatus(const QString &line); - void setAction(const QString &line); - void setBufferStatus(const QString &line); + void setGlobalStatus(QString global); + void setLineStatus(QString line); + void setAction(QString line); + void setBufferStatus(QString line); void startTiming(); void stopTiming(); diff --git a/src/gui/official/SFLPhoneApp.cpp b/src/gui/official/SFLPhoneApp.cpp index d5b394ae528bb2a3a1499418af7c839a0b1c36ff..bd860ade3a79e8e4f566089ca26a2ac10166caa3 100644 --- a/src/gui/official/SFLPhoneApp.cpp +++ b/src/gui/official/SFLPhoneApp.cpp @@ -69,14 +69,14 @@ SFLPhoneApp::initConnections(SFLPhoneWindow *w) &PhoneLineManager::instance(), SLOT(sendKey(Qt::Key))); // LCD Connections. - QObject::connect(&PhoneLineManager::instance(), SIGNAL(lineStatusSet(const QString &)), - w->mLcd, SLOT(setLineStatus(const QString &))); - QObject::connect(&PhoneLineManager::instance(), SIGNAL(actionSet(const QString &)), - w->mLcd, SLOT(setAction(const QString &))); - QObject::connect(&PhoneLineManager::instance(), SIGNAL(globalStatusSet(const QString &)), - w->mLcd, SLOT(setGlobalStatus(const QString &))); - QObject::connect(&PhoneLineManager::instance(), SIGNAL(bufferStatusSet(const QString &)), - w->mLcd, SLOT(setBufferStatus(const QString &))); + QObject::connect(&PhoneLineManager::instance(), SIGNAL(lineStatusSet(QString)), + w->mLcd, SLOT(setLineStatus(QString))); + QObject::connect(&PhoneLineManager::instance(), SIGNAL(actionSet(QString)), + w->mLcd, SLOT(setAction(QString))); + QObject::connect(&PhoneLineManager::instance(), SIGNAL(globalStatusSet(QString)), + w->mLcd, SLOT(setGlobalStatus(QString))); + QObject::connect(&PhoneLineManager::instance(), SIGNAL(bufferStatusSet(QString)), + w->mLcd, SLOT(setBufferStatus(QString))); diff --git a/src/gui/official/SFLPhoneWindow.cpp b/src/gui/official/SFLPhoneWindow.cpp index b45ec21cb58d33e3a8a18009011d2aecb9e007dd..d55a4093255c64e10f0701cd7fd16a2f2eca6203 100644 --- a/src/gui/official/SFLPhoneWindow.cpp +++ b/src/gui/official/SFLPhoneWindow.cpp @@ -3,8 +3,7 @@ #include <qbitmap.h> //To test if we are in QT4 -#include <qt.h> -#ifdef quint16 +#ifdef QT3_SUPPORT #include <QIcon> #endif @@ -21,19 +20,30 @@ #include "SFLLcd.hpp" #include "VolumeControl.hpp" -#define LOGO_IMAGE "logo_ico" -#define BACKGROUND_IMAGE "main" - +#define LOGO_IMAGE "images/logo_ico.png" +#define BACKGROUND_IMAGE "images/main.png" +#define HANGUP_RELEASED_IMAGE "images/hangup_off.png" +#define HANGUP_PRESSED_IMAGE "images/hangup_on.png" +#define HOLD_RELEASED_IMAGE "images/hold_off.png" +#define HOLD_PRESSED_IMAGE "images/hold_on.png" +#define OK_RELEASED_IMAGE "images/ok_off.png" +#define OK_PRESSED_IMAGE "images/ok_on.png" +#define CLEAR_RELEASED_IMAGE "images/clear_off.png" +#define CLEAR_PRESSED_IMAGE "images/clear_on.png" +#define MUTE_RELEASED_IMAGE "images/mute_off.png" +#define MUTE_PRESSED_IMAGE "images/mute_on.png" +#define VOLUME_IMAGE "images/volume.png" + SFLPhoneWindow::SFLPhoneWindow() -#ifdef quint16 +#ifdef QT3_SUPPORT : QMainWindow(NULL, Qt::FramelessWindowHint) #else - : QMainWindow(NULL) + : QMainWindow(NULL, NULL, Qt::WDestructiveClose) #endif { // Initialize the background image mMain = new QLabel(this); - QPixmap main(JPushButton::transparize(QPixmap::fromMimeSource(BACKGROUND_IMAGE))); + QPixmap main(JPushButton::transparize(BACKGROUND_IMAGE)); mMain->setPixmap(main); //mMain->move(100,100); /* @@ -73,40 +83,40 @@ SFLPhoneWindow::initLCD() void SFLPhoneWindow::initGUIButtons() { - mHangup = new JPushButton(":/sflphone/images/hangup_off", - ":/sflphone/images/hangup_on", + mHangup = new JPushButton(QString(HANGUP_RELEASED_IMAGE), + QString(HANGUP_PRESSED_IMAGE), mMain); mHangup->move(225,156); - mHold = new JPushButton(":/sflphone/images/hold_off", - ":/sflphone/images/hold_on", - mMain); + mHold = new JPushButton(QString(HOLD_RELEASED_IMAGE), + QString(HOLD_PRESSED_IMAGE), + mMain); mHold->move(225,68); - mOk = new JPushButton(":/sflphone/images/ok_off", - ":/sflphone/images/ok_on", + mOk = new JPushButton(QString(OK_RELEASED_IMAGE), + QString(OK_PRESSED_IMAGE), mMain); mOk->move(225,182); - mClear = new JPushButton(":/sflphone/images/clear_off", - ":/sflphone/images/clear_on", + mClear = new JPushButton(QString(CLEAR_RELEASED_IMAGE), + QString(CLEAR_PRESSED_IMAGE), mMain); mClear->move(225,130); - mMute = new JPushButton(":/sflphone/images/mute_off", - ":/sflphone/images/mute_on", + mMute = new JPushButton(QString(MUTE_RELEASED_IMAGE), + QString(MUTE_PRESSED_IMAGE), mMain); mMute->move(225,94); mMute->setToggle(true); - mVolume = new VolumeControl(":/sflphone/images/volume.png", + mVolume = new VolumeControl(QString(VOLUME_IMAGE), mMain); mVolume->setOrientation(VolumeControl::Vertical); mVolume->move(365,91); - mMicVolume = new VolumeControl(":/sflphone/images/volume.png", - mMain); + mMicVolume = new VolumeControl(QString(VOLUME_IMAGE), + mMain); mMicVolume->setOrientation(VolumeControl::Vertical); mMicVolume->move(347,91); @@ -119,12 +129,8 @@ SFLPhoneWindow::initLineButtons() int ypos = 151; int offset = 31; for(int i = 0; i < NB_PHONELINES; i++) { - PhoneLineButton *line = new PhoneLineButton(QString(":/sflphone/images/l") + - QString::number(i + 1) + - "_off.png", - QString(":/sflphone/images/l") + - QString::number(i + 1) + - "_on.png", + PhoneLineButton *line = new PhoneLineButton(QString("images/l%1_off.png").arg(i + 1), + QString("images/l%1_on.png").arg(i + 1), i, mMain); line->move(xpos, ypos); diff --git a/src/gui/official/TCPSessionIO.cpp b/src/gui/official/TCPSessionIO.cpp index 933022797dab34083186ae6bce9796ed1785fe12..acede4af412926b28980aa572662381030625c0a 100644 --- a/src/gui/official/TCPSessionIO.cpp +++ b/src/gui/official/TCPSessionIO.cpp @@ -36,7 +36,7 @@ TCPSessionIO::TCPSessionIO(const QString &hostname, Q_UINT16 port) QObject::connect(mSocket, SIGNAL(connected()), this, SIGNAL(connected())); QObject::connect(mSocket, SIGNAL(error(int)), - this, SLOT(error())); + this, SLOT(error(int))); QObject::connect(mSocket, SIGNAL(error(int)), this, SIGNAL(disconnected())); } diff --git a/src/gui/official/main.cpp b/src/gui/official/main.cpp index 7ba183ee7f287501690c59d82f42561e186594e3..130803c031a53ca49c59f6a659e1c30e6dc37a3e 100644 --- a/src/gui/official/main.cpp +++ b/src/gui/official/main.cpp @@ -28,9 +28,12 @@ int main(int argc, char **argv) { SFLPhoneApp app(argc, argv); - SFLPhoneWindow sfl; - app.initConnections(&sfl); - sfl.show(); + SFLPhoneWindow* sfl = new SFLPhoneWindow(); + app.initConnections(sfl); +#ifndef QT3_SUPPORT + app.setMainWidget(sfl); +#endif + sfl->show(); PhoneLineManager::instance().start(); return app.exec(); } diff --git a/src/gui/official/sflphone.pro b/src/gui/official/sflphone.pro index 664cd34cce858016d04e4fcc568df26f330bb7bb..2290ffa40a135a5d9b8dce934cc45cfc09b4b7f4 100644 --- a/src/gui/official/sflphone.pro +++ b/src/gui/official/sflphone.pro @@ -9,6 +9,91 @@ INCLUDEPATH += /usr/lib/qt4/include/Qt/ QT += network qt3support #CONFIG += debug +IMAGES += \ +images/about.png \ +images/audio.png \ +images/clear_off.png \ +images/clear_on.png \ +images/close_off.png \ +images/close_on.png \ +images/conference_off.png \ +images/conference_on.png \ +images/directory_off.png \ +images/directory_on.png \ +images/dtmf_0_off.png \ +images/dtmf_0_on.png \ +images/dtmf_1_off.png \ +images/dtmf_1_on.png \ +images/dtmf_2_off.png \ +images/dtmf_2_on.png \ +images/dtmf_3_off.png \ +images/dtmf_3_on.png \ +images/dtmf_4_off.png \ +images/dtmf_4_on.png \ +images/dtmf_5_off.png \ +images/dtmf_5_on.png \ +images/dtmf_6_off.png \ +images/dtmf_6_on.png \ +images/dtmf_7_off.png \ +images/dtmf_7_on.png \ +images/dtmf_8_off.png \ +images/dtmf_8_on.png \ +images/dtmf_9_off.png \ +images/dtmf_9_on.png \ +images/dtmf_close_off.png \ +images/dtmf_close_on.png \ +images/dtmf_main.png \ +images/dtmf_off.png \ +images/dtmf_on.png \ +images/dtmf_pound_off.png \ +images/dtmf_pound_on.png \ +images/dtmf_star_off.png \ +images/dtmf_star_on.png \ +images/gsm.png \ +images/hangup_off.png \ +images/hangup_on.png \ +images/hold_off.png \ +images/hold_on.png \ +images/l.png \ +images/l1_off.png \ +images/l1_on.png \ +images/l2_off.png \ +images/l2_on.png \ +images/l3_off.png \ +images/l3_on.png \ +images/l4_off.png \ +images/l4_on.png \ +images/l5_off.png \ +images/l5_on.png \ +images/l6_off.png \ +images/l6_on.png \ +images/logo_ico.png \ +images/main.png \ +images/minimize_off.png \ +images/minimize_on.png \ +images/mute_off.png \ +images/mute_on.png \ +images/network.png \ +images/ok_off.png \ +images/ok_on.png \ +images/overscreen.png \ +images/preferences.png \ +images/screen_main.png \ +images/setup_off.png \ +images/setup_on.png \ +images/sfl-logo.png \ +images/sflphone_logo.png \ +images/signalisations.png \ +images/transfer_off.png \ +images/transfer_on.png \ +images/tray-icon.png \ +images/video.png \ +images/voicemail_off.png \ +images/voicemail_on.png \ +images/volume.png \ +images/volume_off.png \ +images/volume_on.png + # Input HEADERS += Account.hpp \ CallManager.hpp \