diff options
author | Lubos Dolezel <lubos@dolezel.info> | 2015-06-02 19:32:25 +0200 |
---|---|---|
committer | Lubos Dolezel <lubos@dolezel.info> | 2015-06-02 19:32:25 +0200 |
commit | ab83223e1b5c7d34855d091e0c868462bd9452d1 (patch) | |
tree | 0890102c34727fcceea3d4e4c89ca560988b7f6d /src/gui | |
parent | aa9b140a7bb49eb9666678bcbbb544cc536bd6de (diff) | |
download | twinkle-ab83223e1b5c7d34855d091e0c868462bd9452d1.tar twinkle-ab83223e1b5c7d34855d091e0c868462bd9452d1.tar.gz twinkle-ab83223e1b5c7d34855d091e0c868462bd9452d1.tar.lz twinkle-ab83223e1b5c7d34855d091e0c868462bd9452d1.tar.xz twinkle-ab83223e1b5c7d34855d091e0c868462bd9452d1.zip |
Twinkle now compiles with Qt4 uic, but crashes at runtime (due to GUI calls from outside the main thread)
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/CMakeLists.txt | 48 | ||||
-rw-r--r-- | src/gui/addresscardform.cpp (renamed from src/gui/addresscardform.ui.h) | 47 | ||||
-rw-r--r-- | src/gui/addresscardform.h | 24 | ||||
-rw-r--r-- | src/gui/authenticationform.cpp (renamed from src/gui/authenticationform.ui.h) | 40 | ||||
-rw-r--r-- | src/gui/authenticationform.h | 21 | ||||
-rw-r--r-- | src/gui/authenticationform.ui | 2 | ||||
-rw-r--r-- | src/gui/buddyform.cpp (renamed from src/gui/buddyform.ui.h) | 51 | ||||
-rw-r--r-- | src/gui/buddyform.h | 41 | ||||
-rw-r--r-- | src/gui/buddyform.ui | 2 | ||||
-rw-r--r-- | src/gui/buddylistview.cpp | 18 | ||||
-rw-r--r-- | src/gui/diamondcardprofileform.cpp (renamed from src/gui/diamondcardprofileform.ui.h) | 52 | ||||
-rw-r--r-- | src/gui/diamondcardprofileform.h | 46 | ||||
-rw-r--r-- | src/gui/freedesksystray.cpp | 154 | ||||
-rw-r--r-- | src/gui/freedesksystray.h | 95 | ||||
-rw-r--r-- | src/gui/getaddressform.cpp (renamed from src/gui/getaddressform.ui.h) | 31 | ||||
-rw-r--r-- | src/gui/getaddressform.h | 35 | ||||
-rw-r--r-- | src/gui/gui.cpp | 25 | ||||
-rw-r--r-- | src/gui/gui.h | 6 | ||||
-rw-r--r-- | src/gui/historyform.cpp (renamed from src/gui/historyform.ui.h) | 57 | ||||
-rw-r--r-- | src/gui/historyform.h | 45 | ||||
-rw-r--r-- | src/gui/historylistview.cpp | 8 | ||||
-rw-r--r-- | src/gui/inviteform.cpp (renamed from src/gui/inviteform.ui.h) | 30 | ||||
-rw-r--r-- | src/gui/inviteform.h | 39 | ||||
-rw-r--r-- | src/gui/messageform.cpp (renamed from src/gui/messageform.ui.h) | 60 | ||||
-rw-r--r-- | src/gui/messageform.h | 75 | ||||
-rw-r--r-- | src/gui/messageform.ui | 4 | ||||
-rw-r--r-- | src/gui/messageformview.h | 4 | ||||
-rw-r--r-- | src/gui/mphoneform.cpp (renamed from src/gui/mphoneform.ui.h) | 128 | ||||
-rw-r--r-- | src/gui/mphoneform.h | 206 | ||||
-rw-r--r-- | src/gui/mphoneform.ui | 4587 | ||||
-rw-r--r-- | src/gui/redirectform.cpp (renamed from src/gui/redirectform.ui.h) | 36 | ||||
-rw-r--r-- | src/gui/redirectform.h | 58 | ||||
-rw-r--r-- | src/gui/redirectform.ui | 6 | ||||
-rw-r--r-- | src/gui/selectnicform.cpp (renamed from src/gui/selectnicform.ui.h) | 49 | ||||
-rw-r--r-- | src/gui/selectnicform.h | 30 | ||||
-rw-r--r-- | src/gui/selectnicform.ui | 2 | ||||
-rw-r--r-- | src/gui/selectprofileform.cpp (renamed from src/gui/selectprofileform.ui.h) | 68 | ||||
-rw-r--r-- | src/gui/selectprofileform.h | 61 | ||||
-rw-r--r-- | src/gui/selectuserform.cpp (renamed from src/gui/selectuserform.ui.h) | 52 | ||||
-rw-r--r-- | src/gui/selectuserform.h | 39 | ||||
-rw-r--r-- | src/gui/sendfileform.cpp (renamed from src/gui/sendfileform.ui.h) | 51 | ||||
-rw-r--r-- | src/gui/sendfileform.h | 33 | ||||
-rw-r--r-- | src/gui/sendfileform.ui | 2 | ||||
-rw-r--r-- | src/gui/srvredirectform.cpp (renamed from src/gui/srvredirectform.ui.h) | 50 | ||||
-rw-r--r-- | src/gui/srvredirectform.h | 63 | ||||
-rw-r--r-- | src/gui/srvredirectform.ui | 18 | ||||
-rw-r--r-- | src/gui/syssettingsform.cpp (renamed from src/gui/syssettingsform.ui.h) | 65 | ||||
-rw-r--r-- | src/gui/syssettingsform.h | 53 | ||||
-rw-r--r-- | src/gui/syssettingsform.ui | 16 | ||||
-rw-r--r-- | src/gui/termcapform.cpp (renamed from src/gui/termcapform.ui.h) | 52 | ||||
-rw-r--r-- | src/gui/termcapform.h | 40 | ||||
-rw-r--r-- | src/gui/termcapform.ui | 2 | ||||
-rw-r--r-- | src/gui/transferform.cpp (renamed from src/gui/transferform.ui.h) | 49 | ||||
-rw-r--r-- | src/gui/transferform.h | 52 | ||||
-rw-r--r-- | src/gui/transferform.ui | 2 | ||||
-rw-r--r-- | src/gui/twinklesystray.cpp | 38 | ||||
-rw-r--r-- | src/gui/twinklesystray.h | 47 | ||||
-rw-r--r-- | src/gui/userprofileform.cpp (renamed from src/gui/userprofileform.ui.h) | 64 | ||||
-rw-r--r-- | src/gui/userprofileform.h | 79 | ||||
-rw-r--r-- | src/gui/userprofileform.ui | 58 | ||||
-rw-r--r-- | src/gui/wizardform.cpp (renamed from src/gui/wizardform.ui.h) | 54 | ||||
-rw-r--r-- | src/gui/wizardform.h | 44 |
62 files changed, 4522 insertions, 2792 deletions
diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index 16d1c3a..5879488 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -43,8 +43,6 @@ qt4_wrap_cpp(twinkle_MOC numberconversionform.h getprofilenameform.h historylistview.h - freedesksystray.h - twinklesystray.h address_finder.h qt_translator.h core_strings.h @@ -55,15 +53,56 @@ qt4_wrap_cpp(twinkle_MOC buddylistview.h textbrowsernoautolink.h twinkleapplication.h + + mphoneform.h + inviteform.h + getaddressform.h + termcapform.h + redirectform.h + messageform.h + srvredirectform.h + userprofileform.h + transferform.h + syssettingsform.h + historyform.h + selectuserform.h + selectprofileform.h + buddyform.h + diamondcardprofileform.h + addresscardform.h + authenticationform.h + selectnicform.h + sendfileform.h + wizardform.h ) set(TWINKLE_GUI-SRCS + mphoneform.cpp + inviteform.cpp + getaddressform.cpp + redirectform.cpp + termcapform.cpp + messageform.cpp + srvredirectform.cpp + userprofileform.cpp + transferform.cpp + syssettingsform.cpp + historyform.cpp + selectuserform.cpp + selectprofileform.cpp + buddyform.cpp + diamondcardprofileform.cpp + addresscardform.cpp + authenticationform.cpp + selectnicform.cpp + sendfileform.cpp + wizardform.cpp + address_finder.cpp addresslistviewitem.cpp buddylistview.cpp deregisterform.cpp dtmfform.cpp - freedesksystray.cpp getprofilenameform.cpp gui.cpp historylistview.cpp @@ -72,7 +111,6 @@ set(TWINKLE_GUI-SRCS messageformview.cpp numberconversionform.cpp twinkleapplication.cpp - twinklesystray.cpp yesnodialog.cpp $<TARGET_OBJECTS:libtwinkle> @@ -98,6 +136,6 @@ add_executable(twinkle ${TWINKLE_GUI-SRCS}) target_link_libraries(twinkle -lpthread -lresolv ${LibMagic_LIBRARY} ${LIBXML2_LIBRARIES} ${Readline_LIBRARY} ${ILBC_LIBRARIES} ${SPEEX_LIBRARIES} ${ZRTPCPP_LIBRARIES} ${CCRTP_LIBRARIES} ${COMMONCPP_LIBRARIES} ${UCOMMON_LIBRARIES} ${LIBSNDFILE_LIBRARY} - ${Boost_LIBRARIES} ${QT_LIBRARIES}) + ${Boost_LIBRARIES} Qt4::QtGui Qt4::Qt3Support) install(TARGETS twinkle DESTINATION bin) diff --git a/src/gui/addresscardform.ui.h b/src/gui/addresscardform.cpp index f6ff3f6..6dcae68 100644 --- a/src/gui/addresscardform.ui.h +++ b/src/gui/addresscardform.cpp @@ -1,15 +1,3 @@ -/**************************************************************************** -** ui.h extension file, included from the uic-generated form implementation. -** -** If you want to add, delete, or rename functions or slots, use -** Qt Designer to update this file, preserving your code. -** -** You should not define a constructor or destructor in this file. -** Instead, write your code in functions called init() and destroy(). -** These will automatically be called by the form's constructor and -** destructor. -*****************************************************************************/ - /* Copyright (C) 2005-2009 Michel de Boer <michel@twinklephone.com> @@ -28,6 +16,41 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "gui.h" +#include "addresscardform.h" + +/* + * Constructs a AddressCardForm as a child of 'parent', with the + * name 'name' and widget flags set to 'f'. + * + * The dialog will by default be modeless, unless you set 'modal' to + * true to construct a modal dialog. + */ +AddressCardForm::AddressCardForm(QWidget* parent, const char* name, bool modal, Qt::WindowFlags fl) + : QDialog(parent, name, modal, fl) +{ + setupUi(this); + +} + +/* + * Destroys the object and frees any allocated resources + */ +AddressCardForm::~AddressCardForm() +{ + // no need to delete child widgets, Qt does it all for us +} + +/* + * Sets the strings of the subwidgets using the current + * language. + */ +void AddressCardForm::languageChange() +{ + retranslateUi(this); +} + + int AddressCardForm::exec(t_address_card &card) { firstNameLineEdit->setText(card.name_first.c_str()); infixNameLineEdit->setText(card.name_infix.c_str()); diff --git a/src/gui/addresscardform.h b/src/gui/addresscardform.h new file mode 100644 index 0000000..391219c --- /dev/null +++ b/src/gui/addresscardform.h @@ -0,0 +1,24 @@ +#ifndef ADDRESSCARDFORM_H +#define ADDRESSCARDFORM_H +#include "address_book.h" +#include "ui_addresscardform.h" + +class AddressCardForm : public QDialog, public Ui::AddressCardForm +{ + Q_OBJECT + +public: + AddressCardForm(QWidget* parent = 0, const char* name = 0, bool modal = false, Qt::WindowFlags fl = 0); + ~AddressCardForm(); + + virtual int exec( t_address_card & card ); + +public slots: + virtual void validate(); + +protected slots: + virtual void languageChange(); + +}; + +#endif diff --git a/src/gui/authenticationform.ui.h b/src/gui/authenticationform.cpp index a2e0905..df34a6e 100644 --- a/src/gui/authenticationform.ui.h +++ b/src/gui/authenticationform.cpp @@ -1,11 +1,3 @@ -/**************************************************************************** -** ui.h extension file, included from the uic-generated form implementation. -** -** If you wish to add, delete or rename functions or slots use -** Qt Designer which will update this file, preserving your code. Create an -** init() function in place of a constructor, and a destroy() function in -** place of a destructor. -*****************************************************************************/ /* Copyright (C) 2005-2009 Michel de Boer <michel@twinklephone.com> @@ -24,6 +16,38 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "authenticationform.h" +/* + * Constructs a AuthenticationForm as a child of 'parent', with the + * name 'name' and widget flags set to 'f'. + * + * The dialog will by default be modeless, unless you set 'modal' to + * true to construct a modal dialog. + */ +AuthenticationForm::AuthenticationForm(QWidget* parent, const char* name, bool modal, Qt::WindowFlags fl) + : QDialog(parent, name, modal, fl) +{ + setupUi(this); + +} + +/* + * Destroys the object and frees any allocated resources + */ +AuthenticationForm::~AuthenticationForm() +{ + // no need to delete child widgets, Qt does it all for us +} + +/* + * Sets the strings of the subwidgets using the current + * language. + */ +void AuthenticationForm::languageChange() +{ + retranslateUi(this); +} + int AuthenticationForm::exec(t_user *user_config, const QString &realm, QString &username, QString &password) diff --git a/src/gui/authenticationform.h b/src/gui/authenticationform.h new file mode 100644 index 0000000..70b4a93 --- /dev/null +++ b/src/gui/authenticationform.h @@ -0,0 +1,21 @@ +#ifndef AUTHENTICATIONFORM_H +#define AUTHENTICATIONFORM_H +#include "user.h" +#include "ui_authenticationform.h" + +class AuthenticationForm : public QDialog, public Ui::AuthenticationForm +{ + Q_OBJECT + +public: + AuthenticationForm(QWidget* parent = 0, const char* name = 0, bool modal = false, Qt::WindowFlags fl = 0); + ~AuthenticationForm(); + + virtual int exec( t_user * user_config, const QString & realm, QString & username, QString & password ); + +protected slots: + virtual void languageChange(); + +}; + +#endif diff --git a/src/gui/authenticationform.ui b/src/gui/authenticationform.ui index 1fdfffc..dde4191 100644 --- a/src/gui/authenticationform.ui +++ b/src/gui/authenticationform.ui @@ -25,7 +25,7 @@ <string/> </property> <property name="pixmap"> - <pixmap>password.png</pixmap> + <pixmap>:/icons/images/password.png</pixmap> </property> <property name="wordWrap"> <bool>false</bool> diff --git a/src/gui/buddyform.ui.h b/src/gui/buddyform.cpp index 5326302..a8ae059 100644 --- a/src/gui/buddyform.ui.h +++ b/src/gui/buddyform.cpp @@ -1,15 +1,3 @@ -/**************************************************************************** -** ui.h extension file, included from the uic-generated form implementation. -** -** If you want to add, delete, or rename functions or slots, use -** Qt Designer to update this file, preserving your code. -** -** You should not define a constructor or destructor in this file. -** Instead, write your code in functions called init() and destroy(). -** These will automatically be called by the form's constructor and -** destructor. -*****************************************************************************/ - /* Copyright (C) 2005-2009 Michel de Boer <michel@twinklephone.com> @@ -28,6 +16,45 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "gui.h" +#include "sockets/url.h" +#include "buddylistview.h" +#include "audits/memman.h" +#include "buddyform.h" +/* + * Constructs a BuddyForm as a child of 'parent', with the + * name 'name' and widget flags set to 'f'. + * + * The dialog will by default be modeless, unless you set 'modal' to + * true to construct a modal dialog. + */ +BuddyForm::BuddyForm(QWidget* parent, const char* name, bool modal, Qt::WindowFlags fl) + : QDialog(parent, name, modal, fl) +{ + setupUi(this); + + init(); +} + +/* + * Destroys the object and frees any allocated resources + */ +BuddyForm::~BuddyForm() +{ + destroy(); + // no need to delete child widgets, Qt does it all for us +} + +/* + * Sets the strings of the subwidgets using the current + * language. + */ +void BuddyForm::languageChange() +{ + retranslateUi(this); +} + + void BuddyForm::init() { getAddressForm = 0; diff --git a/src/gui/buddyform.h b/src/gui/buddyform.h new file mode 100644 index 0000000..0df335f --- /dev/null +++ b/src/gui/buddyform.h @@ -0,0 +1,41 @@ +#ifndef BUDDYFORM_H +#define BUDDYFORM_H +#include "getaddressform.h" +#include "presence/buddy.h" +#include <Qt3Support/Q3ListViewItemIterator> +#include "user.h" +#include "ui_buddyform.h" + +class BuddyForm : public QDialog, public Ui::BuddyForm +{ + Q_OBJECT + +public: + BuddyForm(QWidget* parent = 0, const char* name = 0, bool modal = false, Qt::WindowFlags fl = 0); + ~BuddyForm(); + +public slots: + virtual void showNew( t_buddy_list & _buddy_list, Q3ListViewItem * _profileItem ); + virtual void showEdit( t_buddy & buddy ); + virtual void validate(); + virtual void showAddressBook(); + virtual void selectedAddress( const QString & name, const QString & phone ); + +protected slots: + virtual void languageChange(); + +private: + GetAddressForm *getAddressForm; + t_user *user_config; + bool edit_mode; + t_buddy_list *buddy_list; + t_buddy *edit_buddy; + Q3ListViewItem *profileItem; + + void init(); + void destroy(); + +}; + + +#endif diff --git a/src/gui/buddyform.ui b/src/gui/buddyform.ui index 27e596d..5ad5bff 100644 --- a/src/gui/buddyform.ui +++ b/src/gui/buddyform.ui @@ -44,7 +44,7 @@ <string/> </property> <property name="icon"> - <iconset>kontact_contacts.png</iconset> + <iconset>:/icons/images/kontact_contacts.png</iconset> </property> <property name="toolTip" stdset="0"> <string>Address book</string> diff --git a/src/gui/buddylistview.cpp b/src/gui/buddylistview.cpp index 083c8b0..092169f 100644 --- a/src/gui/buddylistview.cpp +++ b/src/gui/buddylistview.cpp @@ -33,22 +33,22 @@ void AbstractBLVItem::set_icon(t_presence_state::t_basic_state state) { switch (state) { case t_presence_state::ST_BASIC_UNKNOWN: - setPixmap(0, qPixmapFromMimeSource("presence_unknown.png")); + setPixmap(0, QPixmap(":/icons/images/presence_unknown.png")); break; case t_presence_state::ST_BASIC_CLOSED: - setPixmap(0, qPixmapFromMimeSource("presence_offline.png")); + setPixmap(0, QPixmap(":/icons/images/presence_offline.png")); break; case t_presence_state::ST_BASIC_OPEN: - setPixmap(0, qPixmapFromMimeSource("presence_online.png")); + setPixmap(0, QPixmap(":/icons/images/presence_online.png")); break; case t_presence_state::ST_BASIC_FAILED: - setPixmap(0, qPixmapFromMimeSource("presence_failed.png")); + setPixmap(0, QPixmap(":/icons/images/presence_failed.png")); break; case t_presence_state::ST_BASIC_REJECTED: - setPixmap(0, qPixmapFromMimeSource("presence_rejected.png")); + setPixmap(0, QPixmap(":/icons/images/presence_rejected.png")); break; default: - setPixmap(0, qPixmapFromMimeSource("presence_unknown.png")); + setPixmap(0, QPixmap(":/icons/images/presence_unknown.png")); break; } } @@ -76,7 +76,7 @@ void BuddyListViewItem::set_icon(void) { tip += Q3StyleSheet::escape(ui->format_sip_address(user_config, buddy->get_name(), t_url(url_str)).c_str()).replace(' ', " "); if (!buddy->get_may_subscribe_presence()) { - setPixmap(0, qPixmapFromMimeSource("buddy.png")); + setPixmap(0, QPixmap(":/icons/images/buddy.png")); } else { QString failure; t_presence_state::t_basic_state basic_state = buddy-> @@ -171,7 +171,7 @@ void BLViewUserItem::set_icon(void) { switch (presence_epa->get_epa_state()) { case t_presence_epa::EPA_UNPUBLISHED: tip += qApp->translate("BuddyList", "not published"); - setPixmap(0, qPixmapFromMimeSource("penguin-small.png")); + setPixmap(0, QPixmap(":/icons/images/penguin-small.png")); break; case t_presence_epa::EPA_FAILED: tip += qApp->translate("BuddyList", "failed to publish"); @@ -179,7 +179,7 @@ void BLViewUserItem::set_icon(void) { if (!failure.isEmpty()) { tip += QString(" (%1)").arg(failure); } - setPixmap(0, qPixmapFromMimeSource("presence_failed.png")); + setPixmap(0, QPixmap(":/icons/images/presence_failed.png")); break; case t_presence_epa::EPA_PUBLISHED: basic_state = presence_epa->get_basic_state(); diff --git a/src/gui/diamondcardprofileform.ui.h b/src/gui/diamondcardprofileform.cpp index 90c7c5e..f989045 100644 --- a/src/gui/diamondcardprofileform.ui.h +++ b/src/gui/diamondcardprofileform.cpp @@ -1,17 +1,6 @@ //Added by qt3to4: #include <QEvent> #include <QMouseEvent> -/**************************************************************************** -** ui.h extension file, included from the uic-generated form implementation. -** -** If you want to add, delete, or rename functions or slots, use -** Qt Designer to update this file, preserving your code. -** -** You should not define a constructor or destructor in this file. -** Instead, write your code in functions called init() and destroy(). -** These will automatically be called by the form's constructor and -** destructor. -*****************************************************************************/ /* Copyright (C) 2005-2009 Michel de Boer <michel@twinklephone.com> @@ -31,6 +20,47 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include <QRegExp> +#include <QValidator> +#include "gui.h" +#include "diamondcard.h" +#include "getprofilenameform.h" +#include "audits/memman.h" +#include "diamondcardprofileform.h" +/* + * Constructs a DiamondcardProfileForm as a child of 'parent', with the + * name 'name' and widget flags set to 'f'. + * + * The dialog will by default be modeless, unless you set 'modal' to + * true to construct a modal dialog. + */ +DiamondcardProfileForm::DiamondcardProfileForm(QWidget* parent, const char* name, bool modal, Qt::WindowFlags fl) + : QDialog(parent, name, modal, fl) +{ + setupUi(this); + + init(); +} + +/* + * Destroys the object and frees any allocated resources + */ +DiamondcardProfileForm::~DiamondcardProfileForm() +{ + destroy(); + // no need to delete child widgets, Qt does it all for us +} + +/* + * Sets the strings of the subwidgets using the current + * language. + */ +void DiamondcardProfileForm::languageChange() +{ + retranslateUi(this); +} + + void DiamondcardProfileForm::init() { user_config = NULL; diff --git a/src/gui/diamondcardprofileform.h b/src/gui/diamondcardprofileform.h new file mode 100644 index 0000000..48224c9 --- /dev/null +++ b/src/gui/diamondcardprofileform.h @@ -0,0 +1,46 @@ +#ifndef DIAMONDCARDPROFILEFORM_H +#define DIAMONDCARDPROFILEFORM_H +#include <QLabel> +#include <QLineEdit> +#include "user.h" +#include "ui_diamondcardprofileform.h" + +class DiamondcardProfileForm : public QDialog, public Ui::DiamondcardProfileForm +{ + Q_OBJECT + +public: + DiamondcardProfileForm(QWidget* parent = 0, const char* name = 0, bool modal = false, Qt::WindowFlags fl = 0); + ~DiamondcardProfileForm(); + + virtual int exec( t_user * user ); + +public slots: + virtual void destroyOldUserConfig(); + virtual void show( t_user * user ); + virtual void validate(); + virtual void mouseReleaseEvent( QMouseEvent * e ); + virtual void processLeftMouseButtonRelease( QMouseEvent * e ); + +signals: + void success(); + void newDiamondcardProfile(const QString&); + +protected slots: + virtual void languageChange(); + +private: + t_user *user_config; + bool destroy_user_config; + QLineEdit *accountIdLineEdit; + QLineEdit *pinCodeLineEdit; + QLineEdit *nameLineEdit; + QLabel *signUpTextLabel; + + void init(); + void destroy(); + +}; + + +#endif diff --git a/src/gui/freedesksystray.cpp b/src/gui/freedesksystray.cpp deleted file mode 100644 index 6812cbe..0000000 --- a/src/gui/freedesksystray.cpp +++ /dev/null @@ -1,154 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2004 by Emil Stoyanov * - * emosto@users.sourceforge.net * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - ***************************************************************************/ - -// 2006 Modified by Michel de Boer - -#include "freedesksystray.h" -//Added by qt3to4: -#include <q3mimefactory.h> -#include <QPixmap> -#include <QLabel> -#include <QMouseEvent> -#include <Q3PopupMenu> - -#include <QtGui/QX11Info> - -FreeDeskSysTray::FreeDeskSysTray ( QWidget *pParent , const char *pszName ) - : QLabel(pParent, pszName, Qt::WMouseNoMask | Qt::WRepaintNoErase | Qt::WType_TopLevel | - Qt::WStyle_Customize | Qt::WStyle_NoBorder | Qt::WStyle_StaysOnTop) -{ - mainWindow = pParent; - trayMenu = new Q3PopupMenu(this); -} - -void FreeDeskSysTray::dock () -{ - trayMenu->insertSeparator(); - trayMenu->insertItem(tr("Show/Hide"), this, SLOT(slotMenuItemShow())) ; - - QIcon quitIcon(qPixmapFromMimeSource("exit.png")); - trayMenu->insertItem(quitIcon, tr("Quit"), this, SLOT(slotMenuItemQuit())) ; - - Display *dpy = QPaintDevice::x11AppDisplay(); - WId trayWin = winId(); - - // System Tray Protocol Specification from freedesktop.org - Screen *screen = XDefaultScreenOfDisplay(dpy); - int iScreen = XScreenNumberOfScreen(screen); - char szAtom[32]; - snprintf(szAtom, sizeof(szAtom), "_NET_SYSTEM_TRAY_S%d", iScreen); - Atom selectionAtom = XInternAtom(dpy, szAtom, false); - XGrabServer(dpy); - Window managerWin = XGetSelectionOwner(dpy, selectionAtom); - XSelectInput(dpy, managerWin, StructureNotifyMask); - XUngrabServer(dpy); - XFlush(dpy); - XEvent ev; - memset(&ev, 0, sizeof(ev)); - ev.xclient.type = ClientMessage; - ev.xclient.window = managerWin; - ev.xclient.message_type = XInternAtom(dpy, "_NET_SYSTEM_TRAY_OPCODE", true); - ev.xclient.format = 32; - ev.xclient.data.l[0] = CurrentTime; - ev.xclient.data.l[1] = SYSTEM_TRAY_REQUEST_DOCK; - ev.xclient.data.l[2] = trayWin; - ev.xclient.data.l[3] = 0; - ev.xclient.data.l[4] = 0; - XSendEvent(dpy, managerWin, false, NoEventMask, &ev); - XSync(dpy, false); - - Atom trayAtom; - WId forWin = mainWindow ? mainWindow->topLevelWidget()->winId() : QX11Info::appRootWindow(); - trayAtom = XInternAtom(dpy, "_KDE_NET_WM_SYSTEM_TRAY_WINDOW_FOR", false); - XChangeProperty(dpy, trayWin, trayAtom, XA_WINDOW, 32, PropModeReplace, (unsigned char *) &forWin, 1); - - setMinimumSize(22, 22); - setBackgroundMode(Qt::X11ParentRelative); - - // because of GNOME - needs a wait of at least 50-100 ms, otherwise width=1 - // KDocker solves the problem so (bug?) - QTimer::singleShot(500, this, SLOT(show())); - -} - -void FreeDeskSysTray::undock () -{ - XUnmapWindow(QPaintDevice::x11AppDisplay(), winId()); - hide(); -} - -FreeDeskSysTray::~FreeDeskSysTray () -{} - -void FreeDeskSysTray::mousePressEvent ( QMouseEvent *pMouseEvent ) -{ - if (!QLabel::rect().contains(pMouseEvent->pos())) - return; - - switch (pMouseEvent->button()) - { - - case Qt::LeftButton: - slotMenuItemShow(); - break; - - case Qt::RightButton: - showContextMenu(pMouseEvent->globalPos()); - break; - - default: - break; - } -} - -Q3PopupMenu *FreeDeskSysTray::contextMenu() -{ - return trayMenu; -} - - void FreeDeskSysTray::setPixmap(const QPixmap& pixmap) -{ - QLabel::setPixmap(pixmap); - repaint(true); -} - -void FreeDeskSysTray::showContextMenu(const QPoint& position) -{ - trayMenu->popup(position,0); -} - -void FreeDeskSysTray::slotMenuItemShow() { - -// mainWindowGeometry = mainWindow->geometry(); -// windowPos = mainWindow->frameGeometry().topLeft(); - - if (mainWindow->isVisible()) { - //mainWindow->setGeometry(mainWindowGeometry); - mainWindow->close(); - } else { -// mainWindow->move( windowPos ); // restore position - mainWindow->show(); - } - -} - -void FreeDeskSysTray::slotMenuItemQuit() { - emit quitSelected(); -} diff --git a/src/gui/freedesksystray.h b/src/gui/freedesksystray.h deleted file mode 100644 index c6a479e..0000000 --- a/src/gui/freedesksystray.h +++ /dev/null @@ -1,95 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2004 by Emil Stoyanov * - * emosto@users.sourceforge.net * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - ***************************************************************************/ - -// 2006 Modified by Michel de Boer - -#ifndef FREEDESKSYSTEMTRAY_H -#define FREEDESKTSYSTEMTRAY_H - -#include <qlabel.h> -#include <qpixmap.h> -#include <q3popupmenu.h> -#include <qwidget.h> -#include <qapplication.h> -#include <qpoint.h> -#include <qsize.h> -#include <qtooltip.h> -#include <qbitmap.h> -#include <qimage.h> -#include <qtimer.h> -#include <qrect.h> -//Added by qt3to4: -#include <QMouseEvent> - -#include <string.h> -#include <stdlib.h> -#include <sys/types.h> -#include <sys/wait.h> - -#include <X11/Xatom.h> -#include <X11/Xlib.h> - - -// System Tray Protocol Specification opcodes. -#define SYSTEM_TRAY_REQUEST_DOCK 0 -#define SYSTEM_TRAY_BEGIN_MESSAGE 1 -#define SYSTEM_TRAY_CANCEL_MESSAGE 2 - - -class FreeDeskSysTray : public QLabel -{ - Q_OBJECT - -public: - - FreeDeskSysTray(QWidget *pParent = 0, const char *pszName = 0); - ~FreeDeskSysTray(); - - void showContextMenu(const QPoint& position); - void dock (); - void undock (); - Q3PopupMenu *contextMenu(); - void setPixmap(const QPixmap& pixmap); - -public: - - QWidget * mainWindow; - Q3PopupMenu * trayMenu; - -protected: - - void mousePressEvent(QMouseEvent *); - -public slots: - - void slotMenuItemShow(); - void slotMenuItemQuit(); - -signals: - - void quitSelected(); - -private: - QRect mainWindowGeometry; - QPoint windowPos; -}; - -// ifndef FREEDESKSYSTEMTRAY_H -#endif diff --git a/src/gui/getaddressform.ui.h b/src/gui/getaddressform.cpp index 251e90d..ec350e4 100644 --- a/src/gui/getaddressform.ui.h +++ b/src/gui/getaddressform.cpp @@ -1,15 +1,3 @@ -/**************************************************************************** -** ui.h extension file, included from the uic-generated form implementation. -** -** If you want to add, delete, or rename functions or slots, use -** Qt Designer to update this file, preserving your code. -** -** You should not define a constructor or destructor in this file. -** Instead, write your code in functions called init() and destroy(). -** These will automatically be called by the form's constructor and -** destructor. -*****************************************************************************/ - /* Copyright (C) 2005-2009 Michel de Boer <michel@twinklephone.com> @@ -28,6 +16,13 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "getaddressform.h" +#include <QRegExp> +#include "sys_settings.h" +#include "gui.h" +#include "address_book.h" +#include "addresslistviewitem.h" +#include "addresscardform.h" #define TAB_KABC 0 #define TAB_LOCAL 1 @@ -45,6 +40,18 @@ #define AB_COL_PHONE 2 #endif +GetAddressForm::GetAddressForm(QWidget *parent, const char *name, bool modal) + : QDialog(parent, name, modal) +{ + setupUi(this); + init(); +} + +GetAddressForm::~GetAddressForm() +{ + // destroy(); +} + void GetAddressForm::init() { #ifdef HAVE_KDE diff --git a/src/gui/getaddressform.h b/src/gui/getaddressform.h new file mode 100644 index 0000000..c55ce06 --- /dev/null +++ b/src/gui/getaddressform.h @@ -0,0 +1,35 @@ +#ifndef GETADDRESSFORM_UI_H +#define GETADDRESSFORM_UI_H +#include "ui_getaddressform.h" +#include "user.h" + +class GetAddressForm : public QDialog, public Ui::GetAddressForm +{ +Q_OBJECT +public: + GetAddressForm(QWidget *parent, const char *name, bool modal); + ~GetAddressForm(); +private: + void init(); + // void destroy(); +public slots: + void reload(); + void show(); + void loadAddresses(); + void loadLocalAddresses(); + void selectAddress(); + void selectKABCAddress(); + void selectLocalAddress(); + void toggleSipOnly( bool on ); + void addLocalAddress(); + void deleteLocalAddress(); + void editLocalAddress(); + +signals: + void address(const QString &, const QString &); + void address(const QString &); +private: + void *addrBook; +}; + +#endif diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index eda1293..c6a95d3 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -49,12 +49,11 @@ #include "sockets/interfaces.h" #include "threads/thread.h" #include "audits/memman.h" -#include "ui_authenticationform.h" -#include "ui_mphoneform.h" -#include "ui_selectnicform.h" -#include "ui_selectprofileform.h" +#include "authenticationform.h" +#include "mphoneform.h" +#include "selectnicform.h" +#include "selectprofileform.h" #include "messageformview.h" -#include "twinklesystray.h" #include "util.h" #include "address_finder.h" #include "yesnodialog.h" @@ -98,14 +97,14 @@ QString str2html(const QString &s) void setDisabledIcon(QAction *action, const QString &icon) { QIcon i = action->iconSet(); - i.setPixmap(qPixmapFromMimeSource(icon), + i.setPixmap(QPixmap(icon), QIcon::Automatic, QIcon::Disabled); action->setIconSet(i); } void setDisabledIcon(QToolButton *toolButton, const QString &icon) { QIcon i = toolButton->iconSet(); - i.setPixmap(qPixmapFromMimeSource(icon), + i.setPixmap(QPixmap(icon), QIcon::Automatic, QIcon::Disabled); toolButton->setIconSet(i); } @@ -891,7 +890,7 @@ string t_gui::select_network_intf(void) { item = i->name.c_str(); item.append(':').append(i->get_ip_addr().c_str()); sf->nicListBox->insertItem( - qPixmapFromMimeSource("kcmpci16.png"), + QPixmap(":/icons/images/kcmpci16.png"), item); } @@ -1515,12 +1514,12 @@ void t_gui::cb_register_inprog(t_user *user_config, t_register_type register_typ // Do not report registration refreshments if (phone->get_is_registered(user_config)) break; mainWindow->statRegLabel->setPixmap( - qPixmapFromMimeSource("gear.png")); + QPixmap(":/icons/images/gear.png")); break; case REG_DEREGISTER: case REG_DEREGISTER_ALL: mainWindow->statRegLabel->setPixmap( - qPixmapFromMimeSource("gear.png")); + QPixmap(":/icons/images/gear.png")); break; case REG_QUERY: emit mw_display_header(); @@ -1602,7 +1601,7 @@ void t_gui::cb_notify_call(int line, const QString &from_party, const QString &o QPixmap pm; Q3Frame::Shape photoFrameShape = Q3Frame::NoFrame; if (photo.isNull()) { - pm = qPixmapFromMimeSource("twinkle32.png"); + pm = QPixmap(":/icons/images/twinkle32.png"); } else { pm.convertFromImage(photo); photoFrameShape = Q3Frame::Box; @@ -1656,12 +1655,12 @@ void t_gui::cb_notify_call(int line, const QString &from_party, const QString &o // Answer and reject buttons Q3HBox *buttonBox = new Q3HBox(vb); - QIcon iconAnswer(qPixmapFromMimeSource("answer.png")); + QIcon iconAnswer(QPixmap(":/icons/images/answer.png")); QPushButton *pbAnswer = new QPushButton(iconAnswer, qApp->translate("SysTrayPopup", "Answer"), buttonBox); QObject::connect(pbAnswer, SIGNAL(clicked()), mainWindow, SLOT(phoneAnswerFromSystrayPopup())); - QIcon iconReject(qPixmapFromMimeSource("reject.png")); + QIcon iconReject(QPixmap(":/icons/images/reject.png")); QPushButton *pbReject = new QPushButton(iconReject, qApp->translate("SysTrayPopup", "Reject"), buttonBox); QObject::connect(pbReject, SIGNAL(clicked()), diff --git a/src/gui/gui.h b/src/gui/gui.h index 955a875..9c0cb3b 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -25,7 +25,7 @@ #include "userintf.h" #include "im/msg_session.h" -#include "ui_messageform.h" +#include "messageform.h" #include "qaction.h" #include "qcombobox.h" @@ -43,9 +43,7 @@ using namespace std; // Forward declaration -namespace Ui { class MphoneForm; -} // Length of redial list in combo boxes #define SIZE_REDIAL_LIST 10 @@ -67,7 +65,7 @@ void setDisabledIcon(QToolButton *toolButton, const QString &icon); class t_gui : public QObject, public t_userintf { Q_OBJECT private: - Ui::MphoneForm *mainWindow; + MphoneForm *mainWindow; // List of active instant messaging session. list<im::t_msg_session *> messageSessions; diff --git a/src/gui/historyform.ui.h b/src/gui/historyform.cpp index 72823d7..690faf0 100644 --- a/src/gui/historyform.ui.h +++ b/src/gui/historyform.cpp @@ -2,17 +2,6 @@ #include <QCloseEvent> #include <QPixmap> #include <Q3PopupMenu> -/**************************************************************************** -** ui.h extension file, included from the uic-generated form implementation. -** -** If you want to add, delete, or rename functions or slots, use -** Qt Designer to update this file, preserving your code. -** -** You should not define a constructor or destructor in this file. -** Instead, write your code in functions called init() and destroy(). -** These will automatically be called by the form's constructor and -** destructor. -*****************************************************************************/ /* Copyright (C) 2005-2009 Michel de Boer <michel@twinklephone.com> @@ -32,6 +21,48 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "call_history.h" +#include "util.h" +#include "gui.h" +#include "q3listview.h" +#include "historylistview.h" +#include "qicon.h" +#include "audits/memman.h" +#include "historyform.h" +/* + * Constructs a HistoryForm as a child of 'parent', with the + * name 'name' and widget flags set to 'f'. + * + * The dialog will by default be modeless, unless you set 'modal' to + * true to construct a modal dialog. + */ +HistoryForm::HistoryForm(QWidget* parent, const char* name, bool modal, Qt::WindowFlags fl) + : QDialog(parent, name, modal, fl) +{ + setupUi(this); + + init(); +} + +/* + * Destroys the object and frees any allocated resources + */ +HistoryForm::~HistoryForm() +{ + destroy(); + // no need to delete child widgets, Qt does it all for us +} + +/* + * Sets the strings of the subwidgets using the current + * language. + */ +void HistoryForm::languageChange() +{ + retranslateUi(this); +} + + void HistoryForm::init() { historyListView->setSorting(HISTCOL_TIMESTAMP, false); @@ -48,8 +79,8 @@ void HistoryForm::init() timeLastViewed = phone->get_startup_time(); - QIcon inviteIcon(qPixmapFromMimeSource("invite.png")); - QIcon deleteIcon(qPixmapFromMimeSource("editdelete.png")); + QIcon inviteIcon(QPixmap(":/icons/images/invite.png")); + QIcon deleteIcon(QPixmap(":/icons/images/editdelete.png")); histPopupMenu = new Q3PopupMenu(this); MEMMAN_NEW(histPopupMenu); diff --git a/src/gui/historyform.h b/src/gui/historyform.h new file mode 100644 index 0000000..6de4fc5 --- /dev/null +++ b/src/gui/historyform.h @@ -0,0 +1,45 @@ +#ifndef HISTORYFORM_H +#define HISTORYFORM_H +#include "phone.h" +#include <Qt3Support/Q3PopupMenu> +#include "user.h" +#include "ui_historyform.h" + +class HistoryForm : public QDialog, public Ui::HistoryForm +{ + Q_OBJECT + +public: + HistoryForm(QWidget* parent = 0, const char* name = 0, bool modal = false, Qt::WindowFlags fl = 0); + ~HistoryForm(); + +public slots: + virtual void loadHistory(); + virtual void update(); + virtual void show(); + virtual void closeEvent( QCloseEvent * e ); + virtual void showCallDetails( Q3ListViewItem * item ); + virtual void popupMenu( Q3ListViewItem * item, const QPoint & pos ); + virtual void call( Q3ListViewItem * item ); + virtual void call( void ); + virtual void deleteEntry( void ); + virtual void clearHistory(); + +signals: + void call(t_user *, const QString &, const QString &, bool); + +protected slots: + virtual void languageChange(); + +private: + time_t timeLastViewed; + Q3PopupMenu *histPopupMenu; + int itemCall; + + void init(); + void destroy(); + +}; + + +#endif diff --git a/src/gui/historylistview.cpp b/src/gui/historylistview.cpp index 575801c..666f3ac 100644 --- a/src/gui/historylistview.cpp +++ b/src/gui/historylistview.cpp @@ -41,13 +41,13 @@ HistoryListViewItem::HistoryListViewItem( Q3ListView * parent, const t_call_reco // Set direction icon setPixmap(HISTCOL_DIRECTION, (cr.direction == t_call_record::DIR_IN ? - qPixmapFromMimeSource("1leftarrow-yellow.png") : - qPixmapFromMimeSource("1rightarrow.png"))); + QPixmap(":/icons/images/1leftarrow-yellow.png") : + QPixmap(":/icons/images/1rightarrow.png"))); // Set status icon setPixmap(HISTCOL_STATUS, (cr.invite_resp_code < 300 ? - qPixmapFromMimeSource("ok.png") : - qPixmapFromMimeSource("cancel.png"))); + QPixmap(":/icons/images/ok.png") : + QPixmap(":/icons/images/cancel.png"))); } void HistoryListViewItem::paintCell(QPainter *painter, const QColorGroup &cg, diff --git a/src/gui/inviteform.ui.h b/src/gui/inviteform.cpp index 5f3a9bc..0ec1ddd 100644 --- a/src/gui/inviteform.ui.h +++ b/src/gui/inviteform.cpp @@ -1,13 +1,13 @@ +#include "inviteform.h" //Added by qt3to4: #include <QCloseEvent> -/**************************************************************************** -** ui.h extension file, included from the uic-generated form implementation. -** -** If you wish to add, delete or rename functions or slots use -** Qt Designer which will update this file, preserving your code. Create an -** init() function in place of a constructor, and a destroy() function in -** place of a destructor. -*****************************************************************************/ +#include "gui.h" +#include "util.h" +#include "audits/memman.h" +#include "sys_settings.h" +#include <QRegExp> +#include <QValidator> + /* Copyright (C) 2005-2009 Michel de Boer <michel@twinklephone.com> @@ -26,12 +26,24 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +InviteForm::InviteForm(QWidget *parent, const char *name, bool modal) + : QDialog(parent, name, modal) +{ + setupUi(this); + init(); +} + +InviteForm::~InviteForm() +{ + destroy(); +} + void InviteForm::init() { getAddressForm = 0; // Set toolbutton icons for disabled options. - setDisabledIcon(addressToolButton, "kontact_contacts-disabled.png"); + setDisabledIcon(addressToolButton, ":/icons/images/kontact_contacts-disabled.png"); // A QComboBox accepts a new line through copy/paste. QRegExp rxNoNewLine("[^\\n\\r]*"); diff --git a/src/gui/inviteform.h b/src/gui/inviteform.h new file mode 100644 index 0000000..337667b --- /dev/null +++ b/src/gui/inviteform.h @@ -0,0 +1,39 @@ +#ifndef INVITEFORM_UI_H +#define INVITEFORM_UI_H +#include "ui_inviteform.h" +#include "sockets/url.h" +#include "getaddressform.h" +#include "user.h" +#include "phone.h" +#include <QDialog> + +class t_phone; +extern t_phone *phone; + +class InviteForm : public QDialog, public Ui::InviteForm +{ + Q_OBJECT +public: + InviteForm(QWidget *parent, const char *name, bool modal); + ~InviteForm(); +public slots: + void clear(); + void show( t_user * user_config, const QString & dest, const QString & subject, bool anonymous ); + void validate(); + void addToInviteComboBox( const QString & destination ); + void reject(); + void closeEvent( QCloseEvent * ); + void showAddressBook(); + void selectedAddress( const QString & address ); + void warnHideUser( void ); +signals: + void destination(t_user *, const QString &, const t_url &, const QString &, bool); + void raw_destination(const QString &); +private: + void init(); + void destroy(); + + GetAddressForm *getAddressForm; +}; + +#endif diff --git a/src/gui/messageform.ui.h b/src/gui/messageform.cpp index 8d0b016..ad801be 100644 --- a/src/gui/messageform.ui.h +++ b/src/gui/messageform.cpp @@ -1,14 +1,4 @@ -/**************************************************************************** -** ui.h extension file, included from the uic-generated form implementation. -** -** If you want to add, delete, or rename functions or slots, use -** Qt Designer to update this file, preserving your code. -** -** You should not define a constructor or destructor in this file. -** Instead, write your code in functions called init() and destroy(). -** These will automatically be called by the form's constructor and -** destructor. -*****************************************************************************/ + /* Copyright (C) 2005-2009 Michel de Boer <michel@twinklephone.com> @@ -45,6 +35,22 @@ #include <QCloseEvent> #endif +#include "gui.h" +#include "sockets/url.h" +#include <Q3StyleSheet> +#include "audits/memman.h" +#include "util.h" +#include <QPixmap> +#include <QCursor> +#include <Q3FileDialog> +#include "utils/file_utils.h" +#include <QFile> +#include "sendfileform.h" +#include <QStatusBar> +#include <Q3Frame> +#include "messageform.h" + + using namespace utils; /** Maximum width for an inline image */ @@ -55,6 +61,34 @@ using namespace utils; #define IMG_SCALE_FACTOR(width, height) (std::min<float>( float(MAX_WIDTH_IMG_INLINE) / (width), float(MAX_HEIGHT_IMG_INLINE) / (height) ) ) +MessageForm::MessageForm(QWidget* parent, const char* name, Qt::WindowFlags fl) + : Q3MainWindow(parent, name, fl) +{ + setupUi(this); + + (void)statusBar(); + init(); +} + +/* + * Destroys the object and frees any allocated resources + */ +MessageForm::~MessageForm() +{ + destroy(); + // no need to delete child widgets, Qt does it all for us +} + +/* + * Sets the strings of the subwidgets using the current + * language. + */ +void MessageForm::languageChange() +{ + retranslateUi(this); +} + + void MessageForm::init() { setWindowFlags(windowFlags() | Qt::WDestructiveClose); @@ -443,7 +477,7 @@ void MessageForm::showAttachmentPopupMenu(const QString &attachment) { attachmentPopupMenu->clear(); - QIcon saveIcon(qPixmapFromMimeSource("save_as.png")); + QIcon saveIcon(QPixmap(":/icons/images/save_as.png")); attachmentPopupMenu->insertItem(saveIcon, "Save as...", id++); #ifdef HAVE_KDE @@ -465,7 +499,7 @@ void MessageForm::showAttachmentPopupMenu(const QString &attachment) { attachmentPopupMenu->insertItem(iconSet, menuText, id++); } - QIcon openIcon(qPixmapFromMimeSource("fileopen.png")); + QIcon openIcon(QPixmap(":/icons/images/fileopen.png")); attachmentPopupMenu->insertItem(openIcon, tr("Open with..."), id++); #endif diff --git a/src/gui/messageform.h b/src/gui/messageform.h new file mode 100644 index 0000000..8cf9037 --- /dev/null +++ b/src/gui/messageform.h @@ -0,0 +1,75 @@ +#ifndef MESSAGEFORM_H +#define MESSAGEFORM_H +#include <textbrowsernoautolink.h> +#include "getaddressform.h" +#include "im/msg_session.h" +#include "phone.h" +#include <Qt3Support/Q3PopupMenu> +#include <QtGui/QLabel> +#include <QtCore/QStringRef> +#include "textbrowsernoautolink.h" +#include "user.h" +#include "ui_messageform.h" +#include <Q3MainWindow> + +class t_phone; +extern t_phone *phone; + +class MessageForm : public Q3MainWindow, public Ui::MessageForm +{ + Q_OBJECT + +public: + MessageForm(QWidget* parent = 0, const char* name = 0, Qt::WindowFlags fl = Qt::WType_TopLevel); + ~MessageForm(); + + virtual bool updateMessageSession(); + virtual bool prepareSendMessage(); + +public slots: + virtual void closeEvent( QCloseEvent * e ); + virtual void show(); + virtual void selectUserConfig( t_user * user_config ); + virtual void showAddressBook(); + virtual void selectedAddress( const QString & address ); + virtual void sendMessage(); + virtual void sendFile( const QString & filename, const QString & subject ); + virtual void addMessage( const im::t_msg & msg, const QString & name ); + virtual void displayError( const QString & errorMsg ); + virtual void displayDeliveryNotification( const QString & notification ); + virtual void setRemotePartyCaption( void ); + virtual void showAttachmentPopupMenu( const QString & attachment ); + virtual void attachmentPopupActivated( int id ); + virtual void saveAttachment(); + virtual void chooseFileToSend(); + virtual void setComposingIndication( const QString & name ); + virtual void clearComposingIndication(); + virtual void setLocalComposingIndicationActive(); + virtual void keyPressEvent( QKeyEvent * e ); + virtual void toAddressChanged( const QString & address ); + virtual void showMessageSize(); + +protected: + im::t_msg_session *_msgSession; + +protected slots: + virtual void languageChange(); + +private: + QDialog *_saveAsDialog; + map<string, string> _filenameMap; + bool _remotePartyComplete; + GetAddressForm *_getAddressForm; + Q3PopupMenu *attachmentPopupMenu; + QString clickedAttachment; + void *_serviceMap; + QLabel *_isComposingLabel; + QLabel *_msgSizeLabel; + + void init(); + void destroy(); + +}; + + +#endif diff --git a/src/gui/messageform.ui b/src/gui/messageform.ui index bddcb03..7c77067 100644 --- a/src/gui/messageform.ui +++ b/src/gui/messageform.ui @@ -61,7 +61,7 @@ <string>F10</string> </property> <property name="icon"> - <iconset>kontact_contacts.png</iconset> + <iconset>:/icons/images/kontact_contacts.png</iconset> </property> <property name="toolTip" stdset="0"> <string>Address book</string> @@ -146,7 +146,7 @@ <cstring>sendFileAction</cstring> </property> <property name="icon"> - <iconset>attach.png</iconset> + <iconset>:/icons/images/attach.png</iconset> </property> <property name="iconText"> <string>Send file...</string> diff --git a/src/gui/messageformview.h b/src/gui/messageformview.h index a5c547e..64c62c3 100644 --- a/src/gui/messageformview.h +++ b/src/gui/messageformview.h @@ -19,12 +19,12 @@ #ifndef _MESSAGEFORMVIEW_H #define _MESSAGEFORMVIEW_H -#include "ui_messageform.h" +#include "messageform.h" #include "im/msg_session.h" #include "patterns/observer.h" -class MessageFormView : public Ui::MessageForm, patterns::t_observer +class MessageFormView : public MessageForm, patterns::t_observer { Q_OBJECT private: diff --git a/src/gui/mphoneform.ui.h b/src/gui/mphoneform.cpp index 9a2a0d7..74c9b71 100644 --- a/src/gui/mphoneform.ui.h +++ b/src/gui/mphoneform.cpp @@ -23,9 +23,8 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ - +#include "mphoneform.h" #include "twinkle_config.h" -#include "twinklesystray.h" //Added by qt3to4: #include <QLabel> #include <QPixmap> @@ -35,11 +34,46 @@ #include <QEvent> #include <Q3Frame> #include <Q3PopupMenu> +#include "../audits/memman.h" +#include "user.h" +#include <Q3TextEdit> +#include <QCheckBox> +#include <QApplication> +#include "gui.h" +#include <QPixmap> +#include <QIcon> +#include <QMessageBox> +#include "audits/memman.h" +#include "line.h" +#include "stun/stun_transaction.h" +#include "log.h" +#include <Q3ProgressDialog> +#include "util.h" +#include <QTimer> +#include <Q3Frame> +#include <QCursor> +#include <QRegExp> +#include <QValidator> +#include "buddyform.h" +#include "diamondcardprofileform.h" + // Time (s) that the conversation timer of a line should stay visible after // a call has ended #define HIDE_LINE_TIMER_AFTER 5 +MphoneForm::MphoneForm(QWidget* parent, const char * name, Qt::WindowFlags f) + : Q3MainWindow(parent, name, f) +{ + setupUi(this); + init(); +} + +MphoneForm::~MphoneForm() +{ + destroy(); +} + void MphoneForm::init() { // Forms @@ -59,10 +93,10 @@ void MphoneForm::init() sysTray = 0; // Popup menu for a single buddy - QIcon inviteIcon(qPixmapFromMimeSource("invite.png")); - QIcon messageIcon(qPixmapFromMimeSource("message.png")); - QIcon editIcon(qPixmapFromMimeSource("edit16.png")); - QIcon deleteIcon(qPixmapFromMimeSource("editdelete.png")); + QIcon inviteIcon(QPixmap(":/icons/images/invite.png")); + QIcon messageIcon(QPixmap(":/icons/images/message.png")); + QIcon editIcon(QPixmap(":/icons/images/edit16.png")); + QIcon deleteIcon(QPixmap(":/icons/images/editdelete.png")); buddyPopupMenu = new Q3PopupMenu(this); MEMMAN_NEW(buddyPopupMenu); buddyPopupMenu->insertItem(inviteIcon, tr("&Call..."), this, SLOT(doCallBuddy())); @@ -73,16 +107,16 @@ void MphoneForm::init() // Change availibility sub popup menu changeAvailabilityPopupMenu = new Q3PopupMenu(this); MEMMAN_NEW(changeAvailabilityPopupMenu); - QIcon availOnlineIcon(qPixmapFromMimeSource("presence_online.png")); - QIcon availOfflineIcon(qPixmapFromMimeSource("presence_offline.png")); + QIcon availOnlineIcon(QPixmap(":/icons/images/presence_online.png")); + QIcon availOfflineIcon(QPixmap(":/icons/images/presence_offline.png")); changeAvailabilityPopupMenu->insertItem(availOfflineIcon, tr("O&ffline"), this, SLOT(doAvailabilityOffline())); changeAvailabilityPopupMenu->insertItem(availOnlineIcon, tr("&Online"), this, SLOT(doAvailabilityOnline())); // Popup menu for a buddy list (click on profile name) - QIcon changeAvailabilityIcon(qPixmapFromMimeSource("presence_online.png")); - QIcon addIcon(qPixmapFromMimeSource("buddy.png")); + QIcon changeAvailabilityIcon(QPixmap(":/icons/images/presence_online.png")); + QIcon addIcon(QPixmap(":/icons/images/buddy.png")); buddyListPopupMenu = new Q3PopupMenu(this); MEMMAN_NEW(buddyListPopupMenu); buddyListPopupMenu->insertItem(changeAvailabilityIcon, tr("&Change availability"), @@ -142,20 +176,17 @@ void MphoneForm::init() if (sys_config->get_gui_use_systray()) { // Create system tray icon - sysTray = new t_twinkle_sys_tray(this, "twinkle_sys_tray"); - MEMMAN_NEW(sysTray); - sysTray->setPixmap( - qPixmapFromMimeSource("sys_idle_dis.png")); - sysTray->setCaption(PRODUCT_NAME); - QToolTip::add(sysTray, PRODUCT_NAME); + sysTray = new QSystemTrayIcon(this); + + sysTray->setIcon( + QPixmap(":/icons/images/sys_idle_dis.png")); + sysTray->setToolTip(PRODUCT_NAME); // Add items to the system tray menu -#ifdef HAVE_KDE - KPopupMenu *menu; -#else - Q3PopupMenu *menu; -#endif - menu = sysTray->contextMenu(); + QMenu *menu; + + menu = new QMenu(this); + sysTray->setContextMenu(menu); // Call menu callInvite->addTo(menu); @@ -202,7 +233,6 @@ void MphoneForm::init() connect(sysTray, SIGNAL(quitSelected()), this, SLOT(fileExit())); - sysTray->dock(); sysTray->show(); } } @@ -500,12 +530,12 @@ void MphoneForm::updateLineEncryptionState(int line) toolTip.append("\n").append(tr("Click to confirm SAS.")); cryptLabel->setFrameStyle(Q3Frame::Panel | Q3Frame::Raised); cryptLabel->setPixmap( - qPixmapFromMimeSource("encrypted.png")); + QPixmap(":/icons/images/encrypted.png")); } else { toolTip.append("\n").append(tr("Click to clear SAS verification.")); cryptLabel->setFrameStyle(Q3Frame::NoFrame); cryptLabel->setPixmap( - qPixmapFromMimeSource("encrypted_verified.png")); + QPixmap(":/icons/images/encrypted_verified.png")); } QToolTip::add(cryptLabel, toolTip); @@ -574,11 +604,11 @@ void MphoneForm::updateLineStatus(int line) referLabel->show(); if (is_transfer_consult) { referLabel->setPixmap( - qPixmapFromMimeSource("consult-xfer.png")); + QPixmap(":/icons/images/consult-xfer.png")); toolTip = tr("Transfer consultation"); } else { referLabel->setPixmap( - qPixmapFromMimeSource("cf.png")); + QPixmap(":/icons/images/cf.png")); toolTip = tr("Transferring call"); } QToolTip::add(referLabel, toolTip); @@ -597,15 +627,15 @@ void MphoneForm::updateLineStatus(int line) break; case LSSUB_SEIZED: case LSSUB_OUTGOING_PROGRESS: - statLabel->setPixmap(qPixmapFromMimeSource("stat_outgoing.png")); + statLabel->setPixmap(QPixmap(":/icons/images/stat_outgoing.png")); statLabel->show(); break; case LSSUB_INCOMING_PROGRESS: - statLabel->setPixmap(qPixmapFromMimeSource("stat_ringing.png")); + statLabel->setPixmap(QPixmap(":/icons/images/stat_ringing.png")); statLabel->show(); break; case LSSUB_ANSWERING: - statLabel->setPixmap(qPixmapFromMimeSource("gear.png")); + statLabel->setPixmap(QPixmap(":/icons/images/gear.png")); statLabel->show(); break; case LSSUB_ESTABLISHED: @@ -619,7 +649,7 @@ void MphoneForm::updateLineStatus(int line) statLabel->show(); break; case LSSUB_RELEASING: - statLabel->setPixmap(qPixmapFromMimeSource("gear.png")); + statLabel->setPixmap(QPixmap(":/icons/images/gear.png")); statLabel->show(); break; default: @@ -914,20 +944,20 @@ void MphoneForm::updateRegStatus() // Set registration status if (num_registered == user_list.size()) { // All users are registered - statRegLabel->setPixmap(qPixmapFromMimeSource("twinkle16.png")); + statRegLabel->setPixmap(QPixmap(":/icons/images/twinkle16.png")); } else if (num_failed == user_list.size()) { // All users failed to register - statRegLabel->setPixmap(qPixmapFromMimeSource("reg_failed.png")); + statRegLabel->setPixmap(QPixmap(":/icons/images/reg_failed.png")); } else if (num_registered > 0) { // Some users are registered statRegLabel->setPixmap(qPixmapFromMimeSource( "twinkle16.png")); } else if (num_failed > 0) { // Some users failed, none are registered - statRegLabel->setPixmap(qPixmapFromMimeSource("reg_failed.png")); + statRegLabel->setPixmap(QPixmap(":/icons/images/reg_failed.png")); } else { // No users are registered, no users failed - statRegLabel->setPixmap(qPixmapFromMimeSource("twinkle16-disabled.png")); + statRegLabel->setPixmap(QPixmap(":/icons/images/twinkle16-disabled.png")); } // Set tool tip with detailed info. @@ -1143,29 +1173,29 @@ void MphoneForm::updateServicesStatus() // Set service status if (num_dnd == user_list.size()) { // All users enabled dnd - statDndLabel->setPixmap(qPixmapFromMimeSource("cancel.png")); + statDndLabel->setPixmap(QPixmap(":/icons/images/cancel.png")); } else if (num_dnd > 0) { // Some users enabled dnd - statDndLabel->setPixmap(qPixmapFromMimeSource("cancel.png")); + statDndLabel->setPixmap(QPixmap(":/icons/images/cancel.png")); } else { // No users enabeld dnd - statDndLabel->setPixmap(qPixmapFromMimeSource("cancel-disabled.png")); + statDndLabel->setPixmap(QPixmap(":/icons/images/cancel-disabled.png")); } if (num_cf == user_list.size()) { // All users enabled redirecton - statCfLabel->setPixmap(qPixmapFromMimeSource("cf.png")); + statCfLabel->setPixmap(QPixmap(":/icons/images/cf.png")); } else if (num_cf > 0) { // Some users enabled redirection - statCfLabel->setPixmap(qPixmapFromMimeSource("cf.png")); + statCfLabel->setPixmap(QPixmap(":/icons/images/cf.png")); } else { // No users enabled redirection - statCfLabel->setPixmap(qPixmapFromMimeSource("cf-disabled.png")); + statCfLabel->setPixmap(QPixmap(":/icons/images/cf-disabled.png")); } if (num_auto_answer == user_list.size()) { // All users enabled auto answer - statAaLabel->setPixmap(qPixmapFromMimeSource("auto_answer.png")); + statAaLabel->setPixmap(QPixmap(":/icons/images/auto_answer.png")); } else if (num_auto_answer > 0) { // Some users enabled auto answer statAaLabel->setPixmap(qPixmapFromMimeSource( @@ -1225,7 +1255,7 @@ void MphoneForm::updateMissedCallStatus(int num_missed_calls) clickDetails += tr("Click to see call history for details.").replace(' ', " "); clickDetails += "</i>"; if (num_missed_calls == 0) { - statMissedLabel->setPixmap(qPixmapFromMimeSource("missed-disabled.png")); + statMissedLabel->setPixmap(QPixmap(":/icons/images/missed-disabled.png")); QString status("<p>"); status += tr("You have no missed calls.").replace(' ', " "); status += "</p>"; @@ -1233,7 +1263,7 @@ void MphoneForm::updateMissedCallStatus(int num_missed_calls) QToolTip::add(statMissedLabel, status); } else { statMissedLabel->setPixmap( - qPixmapFromMimeSource("missed.png")); + QPixmap(":/icons/images/missed.png")); QString tip("<p>"); if (num_missed_calls == 1) { @@ -1363,7 +1393,7 @@ void MphoneForm::updateSysTrayStatus() icon_name += "_dis.png"; } - sysTray->setPixmap(qPixmapFromMimeSource(icon_name)); + sysTray->setIcon(qPixmapFromMimeSource(icon_name)); } // Update menu status based on the number of active users @@ -2187,7 +2217,7 @@ void MphoneForm::about() QMessageBox::Information, QMessageBox::Ok | QMessageBox::Default, QMessageBox::NoButton, QMessageBox::NoButton); - mbAbout.setIconPixmap(qPixmapFromMimeSource("twinkle48.png")); + mbAbout.setIconPixmap(QPixmap(":/icons/images/twinkle48.png")); mbAbout.exec(); } @@ -2510,7 +2540,7 @@ void MphoneForm::updateCallHistory() if (historyForm) historyForm->update(); } -t_twinkle_sys_tray *MphoneForm::getSysTray() +QSystemTrayIcon *MphoneForm::getSysTray() { return sysTray; } @@ -2763,8 +2793,8 @@ void MphoneForm::processCryptLabelClick(int line) void MphoneForm::popupMenuVoiceMail(const QPoint &pos) { Q3PopupMenu menu(this); - QIcon vmIcon(qPixmapFromMimeSource("mwi_none16.png")); - vmIcon.setPixmap(qPixmapFromMimeSource("mwi_none16_dis.png"), + QIcon vmIcon(QPixmap(":/icons/images/mwi_none16.png")); + vmIcon.setPixmap(QPixmap(":/icons/images/mwi_none16_dis.png"), QIcon::Automatic, QIcon::Disabled); list<t_user *>user_list = phone->ref_users(); diff --git a/src/gui/mphoneform.h b/src/gui/mphoneform.h new file mode 100644 index 0000000..23adacb --- /dev/null +++ b/src/gui/mphoneform.h @@ -0,0 +1,206 @@ +#ifndef MPHONEFORM_UI_H +#define MPHONEFORM_UI_H +#include <QMainWindow> +#include "ui_mphoneform.h" +#include "phone.h" +#include "dtmfform.h" +#include "inviteform.h" +#include "redirectform.h" +#include "termcapform.h" +#include "srvredirectform.h" +#include "userprofileform.h" +#include "transferform.h" +#include "syssettingsform.h" +#include "logviewform.h" +#include "historyform.h" +#include "selectuserform.h" +#include "selectprofileform.h" +#include <QEvent> +#include <Q3PopupMenu> +#include <Q3ListViewItem> +#include <QSystemTrayIcon> +#include "im/msg_session.h" +#include "messageformview.h" +#include "buddylistview.h" +#include "diamondcard.h" + +class t_phone; +extern t_phone *phone; + +class MphoneForm : public Q3MainWindow, public Ui::MphoneForm +{ +Q_OBJECT +public: + MphoneForm(QWidget* parent, const char * name, Qt::WindowFlags f); + ~MphoneForm(); + +public: + QString getMWIStatus( const t_mwi & mwi, bool & msg_waiting ) const; + QSystemTrayIcon * getSysTray(); + bool getViewDisplay(); + bool getViewBuddyList(); + bool getViewCompactLineStatus(); +public slots: + void closeEvent( QCloseEvent * e ); + void fileExit(); + void display( const QString & s ); + void displayHeader(); + void showLineTimer( int line ); + void showLineTimer1(); + void showLineTimer2(); + void updateLineTimer( int line ); + void updateLineEncryptionState( int line ); + void updateLineStatus( int line ); + void updateState(); + void updateRegStatus(); + void flashMWI(); + void updateMwi(); + void updateServicesStatus(); + void updateMissedCallStatus( int num_missed_calls ); + void updateSysTrayStatus(); + void updateMenuStatus(); + void updateDiamondcardMenu(); + void removeDiamondcardAction( int & id ); + void removeDiamondcardMenu( Q3PopupMenu * & menu ); + void phoneRegister(); + void do_phoneRegister( list<t_user *> user_list ); + void phoneDeregister(); + void do_phoneDeregister( list<t_user *> user_list ); + void phoneDeregisterAll(); + void do_phoneDeregisterAll( list<t_user *> user_list ); + void phoneShowRegistrations(); + void phoneInvite( t_user * user_config, const QString & dest, const QString & subject, bool anonymous ); + void phoneInvite( const QString & dest, const QString & subject, bool anonymous ); + void phoneInvite(); + void do_phoneInvite( t_user * user_config, const QString & display, const t_url & destination, const QString & subject, bool anonymous ); + void phoneRedial( void ); + void phoneAnswer(); + void phoneAnswerFromSystrayPopup(); + void phoneBye(); + void phoneReject(); + void phoneRejectFromSystrayPopup(); + void phoneRedirect( const list<string> & contacts ); + void phoneRedirect(); + void do_phoneRedirect( const list<t_display_url> & destinations ); + void phoneTransfer( const string & dest, t_transfer_type transfer_type ); + void phoneTransfer(); + void do_phoneTransfer( const t_display_url & destination, t_transfer_type transfer_type ); + void do_phoneTransferLine(); + void phoneHold( bool on ); + void phoneConference(); + void phoneMute( bool on ); + void phoneTermCap( const QString & dest ); + void phoneTermCap(); + void do_phoneTermCap( t_user * user_config, const t_url & destination ); + void phoneDTMF(); + void sendDTMF( const QString & digits ); + void startMessageSession( void ); + void startMessageSession( t_buddy * buddy ); + void phoneConfirmZrtpSas( int line ); + void phoneConfirmZrtpSas(); + void phoneResetZrtpSasConfirmation( int line ); + void phoneResetZrtpSasConfirmation(); + void phoneEnableZrtp( bool on ); + void phoneZrtpGoClearOk( unsigned short line ); + void line1rbChangedState( bool on ); + void line2rbChangedState( bool on ); + void actionLine1Toggled( bool on ); + void actionLine2Toggled( bool on ); + void srvDnd( bool on ); + void srvDnd(); + void do_srvDnd_enable( list<t_user *> user_list ); + void do_srvDnd_disable( list<t_user *> user_list ); + void srvAutoAnswer( bool on ); + void srvAutoAnswer(); + void do_srvAutoAnswer_enable( list<t_user *> user_list ); + void do_srvAutoAnswer_disable( list<t_user *> user_list ); + void srvRedirect(); + void do_srvRedirect( t_user * user_config, const list<t_display_url> & always, const list<t_display_url> & busy, const list<t_display_url> & noanswer ); + void about(); + void aboutQt(); + void manual(); + void editUserProfile(); + void editSysSettings(); + void selectProfile(); + void newUsers( const list<string> & profiles ); + void updateUserComboBox(); + void updateSipUdpPort(); + void updateRtpPorts(); + void updateStunSettings( t_user * user_config ); + void updateAuthCache( t_user * user_config, const string & realm ); + void unsubscribeMWI( t_user * user_config ); + void subscribeMWI( t_user * user_config ); + void viewLog(); + void updateLog( bool log_zapped ); + void viewHistory(); + void updateCallHistory(); + void quickCall(); + void addToCallComboBox( const QString & destination ); + void showAddressBook(); + void selectedAddress( const QString & address ); + void enableCallOptions( bool enable ); + void keyPressEvent( QKeyEvent * e ); + void mouseReleaseEvent( QMouseEvent * e ); + void processLeftMouseButtonRelease( QMouseEvent * e ); + void processRightMouseButtonRelease( QMouseEvent * e ); + void processCryptLabelClick( int line ); + void popupMenuVoiceMail( const QPoint & pos ); + void popupMenuVoiceMail( void ); + void showDisplay( bool on ); + void showBuddyList( bool on ); + void showCompactLineStatus( bool on ); + void populateBuddyList(); + void showBuddyListPopupMenu( Q3ListViewItem * item, const QPoint & pos ); + void doCallBuddy(); + void doMessageBuddy( Q3ListViewItem * qitem ); + void doMessageBuddy(); + void doEditBuddy(); + void doDeleteBuddy(); + void doAddBuddy(); + void doAvailabilityOffline(); + void doAvailabilityOnline(); + void DiamondcardSignUp(); + void newDiamondcardUser( const QString & filename ); + void DiamondcardAction( t_dc_action action, int userIdx ); + void DiamondcardRecharge( int userIdx ); + void DiamondcardBalanceHistory( int userIdx ); + void DiamondcardCallHistory( int userIdx ); + void DiamondcardAdminCenter( int userIdx ); + +private: + void init(); + void destroy(); + QString lineSubstate2str( int line ); + +private: + QTimer tmrFlashMWI; + GetAddressForm *getAddressForm; + SelectProfileForm *selectProfileForm; + SelectUserForm *selectUserForm; + HistoryForm *historyForm; + TransferForm *transferForm; + UserProfileForm *userProfileForm; + SrvRedirectForm *srvRedirectForm; + TermCapForm *termCapForm; + RedirectForm *redirectForm; + InviteForm *inviteForm; + DtmfForm *dtmfForm; + SysSettingsForm *sysSettingsForm; + QStringList displayContents; + LogViewForm *logViewForm; + QSystemTrayIcon *sysTray; + QTimer *lineTimer1; + QTimer *lineTimer2; + QTimer *hideLineTimer1; + QTimer *hideLineTimer2; + bool viewDisplay; + bool viewCompactLineStatus; + bool mwiFlashStatus; + Q3PopupMenu *buddyPopupMenu; + Q3PopupMenu *buddyListPopupMenu; + Q3PopupMenu *changeAvailabilityPopupMenu; + bool viewBuddyList; + +}; + +#endif diff --git a/src/gui/mphoneform.ui b/src/gui/mphoneform.ui index 00b3290..cdaad13 100644 --- a/src/gui/mphoneform.ui +++ b/src/gui/mphoneform.ui @@ -1,2129 +1,2500 @@ <?xml version="1.0" encoding="UTF-8"?> -<ui version="4.0" stdsetdef="1"> - <author></author> - <comment></comment> - <exportmacro></exportmacro> - <class>MphoneForm</class> - <widget class="Q3MainWindow" name="MphoneForm"> - <property name="enabled"> - <bool>true</bool> - </property> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>739</width> - <height>693</height> - </rect> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize"> - <size> - <width>714</width> - <height>693</height> - </size> - </property> - <property name="windowTitle"> - <string>Twinkle</string> - </property> - <property name="windowIcon"> - <pixmap>twinkle16.png</pixmap> - </property> - <property name="rightJustification"> - <bool>false</bool> - </property> - <property name="usesBigPixmaps"> - <bool>false</bool> - </property> - <property name="usesTextLabel"> - <bool>true</bool> - </property> - <widget class="QWidget"> - <layout class="QGridLayout"> - <item row="0" column="0"> - <widget class="QSplitter" name="splitter2"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> +<ui version="4.0"> + <class>MphoneForm</class> + <widget class="Q3MainWindow" name="MphoneForm"> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>739</width> + <height>693</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>714</width> + <height>693</height> + </size> + </property> + <property name="windowTitle"> + <string>Twinkle</string> + </property> + <property name="rightJustification" stdset="0"> + <bool>false</bool> + </property> + <property name="usesBigPixmaps" stdset="0"> + <bool>false</bool> + </property> + <property name="usesTextLabel" stdset="0"> + <bool>true</bool> + </property> + <widget class="QWidget" name="layoutWidget"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>485</width> + <height>354</height> + </rect> + </property> + <layout class="QGridLayout"> + <item row="0" column="0"> + <widget class="QSplitter" name="splitter2"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <widget class="Q3ListView" name="buddyListView" native="true"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> + <horstretch>150</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>0</height> + </size> + </property> + <property name="whatsThis"> + <string>You can create a separate buddy list for each user profile. You can only see availability of your buddies and publish your own availability if your provider offers a presence server.</string> + </property> + <property name="rootIsDecorated" stdset="0"> + <bool>true</bool> + </property> + </widget> + <widget class="QWidget" name="layout13"> + <layout class="QVBoxLayout"> + <item> + <layout class="QGridLayout"> + <item row="1" column="0"> + <widget class="QLabel" name="callTextLabel"> + <property name="text"> + <string comment="Label in front of combobox to enter address">&Call:</string> </property> - <widget class="Q3ListView" name="buddyListView"> + <property name="wordWrap"> + <bool>false</bool> + </property> + <property name="buddy"> + <cstring>callComboBox</cstring> + </property> + </widget> + </item> + <item row="1" column="1"> + <layout class="QHBoxLayout"> + <item> + <widget class="QComboBox" name="callComboBox"> <property name="sizePolicy"> - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>7</vsizetype> - <horstretch>150</horstretch> - <verstretch>0</verstretch> - </sizepolicy> + <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> </property> - <property name="minimumSize"> - <size> - <width>0</width> - <height>0</height> - </size> + <property name="whatsThis"> + <string>The address that you want to call. This can be a full SIP address like <b>sip:example@example.com</b> or just the user part or telephone number of the full address. When you do not specify a full address, then Twinkle will complete the address by using the domain value of your user profile.</string> + </property> + <property name="editable"> + <bool>true</bool> + </property> + <property name="maxCount"> + <number>10</number> + </property> + <property name="insertPolicy"> + <enum>QComboBox::NoInsert</enum> + </property> + <property name="autoCompletion"> + <bool>true</bool> </property> - <property name="rootIsDecorated"> - <bool>true</bool> + </widget> + </item> + <item> + <widget class="QToolButton" name="addressToolButton"> + <property name="focusPolicy"> + <enum>Qt::TabFocus</enum> </property> - <property name="resizeMode"> - <enum>Q3ListView::LastColumn</enum> + <property name="toolTip"> + <string>Address book</string> </property> - <property name="whatsThis" stdset="0"> - <string>You can create a separate buddy list for each user profile. You can only see availability of your buddies and publish your own availability if your provider offers a presence server.</string> + <property name="whatsThis"> + <string>Select an address from the address book.</string> </property> - <column> - <property name="text"> - <string>Buddy list</string> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset> + <normaloff>:/icons/images/kontact_contacts.png</normaloff>:/icons/images/kontact_contacts.png</iconset> + </property> + <property name="shortcut"> + <string>F10</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="callPushButton"> + <property name="whatsThis"> + <string>Dial the address.</string> + </property> + <property name="text"> + <string>Dial</string> + </property> + <property name="default"> + <bool>true</bool> + </property> + </widget> + </item> + </layout> + </item> + <item row="0" column="0"> + <widget class="QLabel" name="userLabel"> + <property name="text"> + <string>&User:</string> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + <property name="buddy"> + <cstring>userComboBox</cstring> + </property> + </widget> + </item> + <item row="0" column="1"> + <layout class="QHBoxLayout"> + <item> + <widget class="QComboBox" name="userComboBox"> + <property name="sizePolicy"> + <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="whatsThis"> + <string>The user that will make the call.</string> + </property> + </widget> + </item> + <item> + <layout class="QHBoxLayout"> + <item> + <widget class="QLabel" name="statAaLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> </property> - <property name="clickable"> - <bool>false</bool> + <property name="wordWrap"> + <bool>false</bool> </property> - <property name="resizable"> - <bool>false</bool> + </widget> + </item> + <item> + <widget class="QLabel" name="statCfLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="statDndLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="wordWrap"> + <bool>false</bool> </property> - </column> + </widget> + </item> + <item> + <widget class="QLabel" name="statMWILabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="statMissedLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="statRegLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </item> + </layout> + </item> + <item> + <widget class="Q3GroupBox" name="displayGroupBox" native="true"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="title" stdset="0"> + <string>Display</string> + </property> + <layout class="QVBoxLayout"> + <item> + <widget class="Q3TextEdit" name="displayTextEdit" native="true"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="MinimumExpanding"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text" stdset="0"> + <string/> + </property> + <property name="readOnly" stdset="0"> + <bool>true</bool> + </property> </widget> - <widget class="QWidget" name="layout13"> + </item> + </layout> + </widget> + </item> + <item> + <widget class="Q3ButtonGroup" name="lineButtonGroup" native="true"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="title" stdset="0"> + <string>Line status</string> + </property> + <property name="exclusive" stdset="0"> + <bool>true</bool> + </property> + <layout class="QVBoxLayout"> + <item> + <layout class="QHBoxLayout"> + <item> + <layout class="QVBoxLayout"> + <item> + <widget class="QRadioButton" name="line1RadioButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="whatsThis"> + <string>Click to switch to line 1.</string> + </property> + <property name="text"> + <string>Line &1:</string> + </property> + <property name="shortcut"> + <string>Alt+1</string> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="fromhead1Label"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>From:</string> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + <property name="indent"> + <number>21</number> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="tohead1Label"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>To:</string> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + <property name="indent"> + <number>21</number> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="subjecthead1Label"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Subject:</string> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + <property name="indent"> + <number>21</number> + </property> + </widget> + </item> + </layout> + </item> + <item> <layout class="QVBoxLayout"> - <item> - <layout class="QGridLayout"> - <item row="1" column="0"> - <widget class="QLabel" name="callTextLabel"> - <property name="text"> - <string comment="Label in front of combobox to enter address">&Call:</string> - </property> - <property name="buddy" stdset="0"> - <cstring>callComboBox</cstring> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item row="1" column="1"> - <layout class="QHBoxLayout"> - <item> - <widget class="QComboBox" name="callComboBox"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>3</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="editable"> - <bool>true</bool> - </property> - <property name="maxCount"> - <number>10</number> - </property> - <property name="insertPolicy"> - <enum>QComboBox::NoInsert</enum> - </property> - <property name="autoCompletion"> - <bool>true</bool> - </property> - <property name="whatsThis" stdset="0"> - <string>The address that you want to call. This can be a full SIP address like <b>sip:example@example.com</b> or just the user part or telephone number of the full address. When you do not specify a full address, then Twinkle will complete the address by using the domain value of your user profile.</string> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="addressToolButton"> - <property name="focusPolicy"> - <enum>Qt::TabFocus</enum> - </property> - <property name="text"> - <string/> - </property> - <property name="shortcut"> - <string>F10</string> - </property> - <property name="icon"> - <iconset>kontact_contacts.png</iconset> - </property> - <property name="toolTip" stdset="0"> - <string>Address book</string> - </property> - <property name="whatsThis" stdset="0"> - <string>Select an address from the address book.</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="callPushButton"> - <property name="text"> - <string>Dial</string> - </property> - <property name="default"> - <bool>true</bool> - </property> - <property name="whatsThis" stdset="0"> - <string>Dial the address.</string> - </property> - </widget> - </item> - </layout> - </item> - <item row="0" column="0"> - <widget class="QLabel" name="userLabel"> - <property name="text"> - <string>&User:</string> - </property> - <property name="buddy" stdset="0"> - <cstring>userComboBox</cstring> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item row="0" column="1"> - <layout class="QHBoxLayout"> - <item> - <widget class="QComboBox" name="userComboBox"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>3</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="whatsThis" stdset="0"> - <string>The user that will make the call.</string> - </property> - </widget> - </item> - <item> - <layout class="QHBoxLayout"> - <item> - <widget class="QLabel" name="statAaLabel"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="statCfLabel"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="statDndLabel"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="statMWILabel"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="statMissedLabel"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="statRegLabel"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </item> - </layout> - </item> - <item> - <widget class="Q3GroupBox" name="displayGroupBox"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title"> - <string>Display</string> - </property> - <layout class="QVBoxLayout"> - <item> - <widget class="Q3TextEdit" name="displayTextEdit"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>3</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="vScrollBarMode"> - <enum>Q3ScrollView::AlwaysOn</enum> - </property> - <property name="textFormat"> - <enum>Qt::PlainText</enum> - </property> - <property name="text"> - <string/> - </property> - <property name="wordWrap"> - <enum>Q3TextEdit::NoWrap</enum> - </property> - <property name="readOnly"> - <bool>true</bool> - </property> - <property name="autoFormatting"> - <set>Q3TextEdit::AutoAll</set> - </property> - </widget> - </item> - </layout> + <item> + <layout class="QHBoxLayout"> + <item> + <widget class="QLabel" name="line1StatLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="status1TextLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string comment="No need to translate">idle</string> + </property> + <property name="textFormat"> + <enum>Qt::RichText</enum> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="line1HoldLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="line1MuteLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="line1ConfLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> </widget> - </item> - <item> - <widget class="Q3ButtonGroup" name="lineButtonGroup"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title"> - <string>Line status</string> - </property> - <property name="exclusive"> - <bool>true</bool> - </property> - <layout class="QVBoxLayout"> - <item> - <layout class="QHBoxLayout"> - <item> - <layout class="QVBoxLayout"> - <item> - <widget class="QRadioButton" name="line1RadioButton"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>Line &1:</string> - </property> - <property name="shortcut"> - <string>Alt+1</string> - </property> - <property name="checked"> - <bool>true</bool> - </property> - <property name="whatsThis" stdset="0"> - <string>Click to switch to line 1.</string> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="fromhead1Label"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>From:</string> - </property> - <property name="indent"> - <number>21</number> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="tohead1Label"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>To:</string> - </property> - <property name="indent"> - <number>21</number> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="subjecthead1Label"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>Subject:</string> - </property> - <property name="indent"> - <number>21</number> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QVBoxLayout"> - <item> - <layout class="QHBoxLayout"> - <item> - <widget class="QLabel" name="line1StatLabel"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="status1TextLabel"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string comment="No need to translate">idle</string> - </property> - <property name="textFormat"> - <enum>Qt::RichText</enum> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="line1HoldLabel"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="line1MuteLabel"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="line1ConfLabel"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="line1ReferLabel"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="crypt1Label"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="line1SasLabel"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string comment="No need to translate">sas</string> - </property> - <property name="whatsThis" stdset="0"> - <string>Short authentication string</string> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="codec1TextLabel"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string comment="No need to translate">g711a/g711a</string> - </property> - <property name="alignment"> - <set>Qt::AlignVCenter|Qt::AlignRight</set> - </property> - <property name="whatsThis" stdset="0"> - <string>Audio codec</string> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="timer1TextLabel"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="font"> - <font> - <family>Courier New</family> - </font> - </property> - <property name="text"> - <string>0:00:00</string> - </property> - <property name="whatsThis" stdset="0"> - <string>Call duration</string> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - </layout> - </item> - <item> - <widget class="QLineEdit" name="from1Label"> - <property name="focusPolicy"> - <enum>Qt::NoFocus</enum> - </property> - <property name="text"> - <string comment="No need to translate">sip:from</string> - </property> - <property name="readOnly"> - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QLineEdit" name="to1Label"> - <property name="focusPolicy"> - <enum>Qt::NoFocus</enum> - </property> - <property name="text"> - <string comment="No need to translate">sip:to</string> - </property> - <property name="readOnly"> - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QLineEdit" name="subject1Label"> - <property name="focusPolicy"> - <enum>Qt::NoFocus</enum> - </property> - <property name="text"> - <string comment="No need to translate">subject</string> - </property> - <property name="readOnly"> - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </item> - <item> - <widget class="QLabel" name="photo1Label"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize"> - <size> - <width>70</width> - <height>98</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>70</width> - <height>98</height> - </size> - </property> - <property name="frameShape"> - <enum>QFrame::Box</enum> - </property> - <property name="text"> - <string comment="No need to translate">photo</string> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout"> - <item> - <layout class="QVBoxLayout"> - <item> - <widget class="QRadioButton" name="line2RadioButton"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>Line &2:</string> - </property> - <property name="shortcut"> - <string>Alt+2</string> - </property> - <property name="whatsThis" stdset="0"> - <string>Click to switch to line 2.</string> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="fromhead2Label"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>From:</string> - </property> - <property name="indent"> - <number>21</number> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="tohead2Label"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>To:</string> - </property> - <property name="indent"> - <number>21</number> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="subjecthead2Label"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>Subject:</string> - </property> - <property name="indent"> - <number>21</number> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QVBoxLayout"> - <item> - <layout class="QHBoxLayout"> - <item> - <widget class="QLabel" name="line2StatLabel"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="status2TextLabel"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string comment="No need to translate">idle</string> - </property> - <property name="textFormat"> - <enum>Qt::RichText</enum> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="line2HoldLabel"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="line2MuteLabel"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="line2ConfLabel"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="line2ReferLabel"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="crypt2Label"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="line2SasLabel"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string comment="No need to translate">sas</string> - </property> - <property name="whatsThis" stdset="0"> - <string>Short authentication string</string> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="codec2TextLabel"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string comment="No need to translate">g711a/g711a</string> - </property> - <property name="alignment"> - <set>Qt::AlignVCenter|Qt::AlignRight</set> - </property> - <property name="whatsThis" stdset="0"> - <string>Audio codec</string> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="timer2TextLabel"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="font"> - <font> - <family>Courier New</family> - </font> - </property> - <property name="text"> - <string>0:00:00</string> - </property> - <property name="whatsThis" stdset="0"> - <string>Call duration</string> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - </layout> - </item> - <item> - <widget class="QLineEdit" name="from2Label"> - <property name="focusPolicy"> - <enum>Qt::NoFocus</enum> - </property> - <property name="text"> - <string comment="No need to translate">sip:from</string> - </property> - <property name="readOnly"> - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QLineEdit" name="to2Label"> - <property name="focusPolicy"> - <enum>Qt::NoFocus</enum> - </property> - <property name="text"> - <string comment="No need to translate">sip:to</string> - </property> - <property name="readOnly"> - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QLineEdit" name="subject2Label"> - <property name="focusPolicy"> - <enum>Qt::NoFocus</enum> - </property> - <property name="text"> - <string comment="No need to translate">subject</string> - </property> - <property name="readOnly"> - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </item> - <item> - <widget class="QLabel" name="photo2Label"> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize"> - <size> - <width>70</width> - <height>98</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>70</width> - <height>98</height> - </size> - </property> - <property name="frameShape"> - <enum>QFrame::Box</enum> - </property> - <property name="text"> - <string comment="No need to translate">photo</string> - </property> - <property name="wordWrap"> - <bool>false</bool> - </property> - </widget> - </item> - </layout> - </item> - </layout> + </item> + <item> + <widget class="QLabel" name="line1ReferLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> </widget> - </item> + </item> + <item> + <widget class="QLabel" name="crypt1Label"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="line1SasLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="whatsThis"> + <string>Short authentication string</string> + </property> + <property name="text"> + <string comment="No need to translate">sas</string> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="codec1TextLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="whatsThis"> + <string>Audio codec</string> + </property> + <property name="text"> + <string comment="No need to translate">g711a/g711a</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="timer1TextLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="font"> + <font> + <family>Courier New</family> + </font> + </property> + <property name="whatsThis"> + <string>Call duration</string> + </property> + <property name="text"> + <string>0:00:00</string> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + </layout> + </item> + <item> + <widget class="QLineEdit" name="from1Label"> + <property name="focusPolicy"> + <enum>Qt::NoFocus</enum> + </property> + <property name="text"> + <string comment="No need to translate">sip:from</string> + </property> + <property name="readOnly"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="to1Label"> + <property name="focusPolicy"> + <enum>Qt::NoFocus</enum> + </property> + <property name="text"> + <string comment="No need to translate">sip:to</string> + </property> + <property name="readOnly"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="subject1Label"> + <property name="focusPolicy"> + <enum>Qt::NoFocus</enum> + </property> + <property name="text"> + <string comment="No need to translate">subject</string> + </property> + <property name="readOnly"> + <bool>true</bool> + </property> + </widget> + </item> </layout> - </widget> - </widget> + </item> + <item> + <widget class="QLabel" name="photo1Label"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>70</width> + <height>98</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>70</width> + <height>98</height> + </size> + </property> + <property name="frameShape"> + <enum>QFrame::Box</enum> + </property> + <property name="text"> + <string comment="No need to translate">photo</string> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout"> + <item> + <layout class="QVBoxLayout"> + <item> + <widget class="QRadioButton" name="line2RadioButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="whatsThis"> + <string>Click to switch to line 2.</string> + </property> + <property name="text"> + <string>Line &2:</string> + </property> + <property name="shortcut"> + <string>Alt+2</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="fromhead2Label"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>From:</string> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + <property name="indent"> + <number>21</number> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="tohead2Label"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>To:</string> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + <property name="indent"> + <number>21</number> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="subjecthead2Label"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Subject:</string> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + <property name="indent"> + <number>21</number> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QVBoxLayout"> + <item> + <layout class="QHBoxLayout"> + <item> + <widget class="QLabel" name="line2StatLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="status2TextLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string comment="No need to translate">idle</string> + </property> + <property name="textFormat"> + <enum>Qt::RichText</enum> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="line2HoldLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="line2MuteLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="line2ConfLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="line2ReferLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="crypt2Label"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="line2SasLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="whatsThis"> + <string>Short authentication string</string> + </property> + <property name="text"> + <string comment="No need to translate">sas</string> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="codec2TextLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="whatsThis"> + <string>Audio codec</string> + </property> + <property name="text"> + <string comment="No need to translate">g711a/g711a</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="timer2TextLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="font"> + <font> + <family>Courier New</family> + </font> + </property> + <property name="whatsThis"> + <string>Call duration</string> + </property> + <property name="text"> + <string>0:00:00</string> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + </layout> + </item> + <item> + <widget class="QLineEdit" name="from2Label"> + <property name="focusPolicy"> + <enum>Qt::NoFocus</enum> + </property> + <property name="text"> + <string comment="No need to translate">sip:from</string> + </property> + <property name="readOnly"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="to2Label"> + <property name="focusPolicy"> + <enum>Qt::NoFocus</enum> + </property> + <property name="text"> + <string comment="No need to translate">sip:to</string> + </property> + <property name="readOnly"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="subject2Label"> + <property name="focusPolicy"> + <enum>Qt::NoFocus</enum> + </property> + <property name="text"> + <string comment="No need to translate">subject</string> + </property> + <property name="readOnly"> + <bool>true</bool> + </property> + </widget> + </item> + </layout> + </item> + <item> + <widget class="QLabel" name="photo2Label"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>70</width> + <height>98</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>70</width> + <height>98</height> + </size> + </property> + <property name="frameShape"> + <enum>QFrame::Box</enum> + </property> + <property name="text"> + <string comment="No need to translate">photo</string> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> </item> - </layout> - </widget> - <widget class="Q3ToolBar" name="callToolbar"> - <property name="resizeEnabled"> - <bool>false</bool> - </property> - <property name="movingEnabled"> - <bool>true</bool> - </property> - <property name="horizontallyStretchable"> - <bool>true</bool> - </property> - <property name="verticallyStretchable"> - <bool>true</bool> - </property> - <property name="label"> - <string>Call Toolbar</string> - </property> - <addaction name="callInvite"/> - <addaction name="callAnswer"/> - <addaction name="callBye"/> - <addaction name="callReject"/> - <addaction name="callRedirect"/> - <addaction name="callTransfer"/> - <addaction name="callHold"/> - <addaction name="callConference"/> - <addaction name="callMute"/> - <addaction name="callDTMF"/> - <addaction name="callRedial"/> - <addaction name="actionSendMsg"/> - </widget> - <widget class="QMenuBar" name="menubar"> - <widget class="QMenu" name="fileMenu"> - <property name="title"> - <string>&File</string> - </property> - <addaction name="fileChangeUserAction"/> - <addaction name="separator"/> - <addaction name="fileExitAction"/> - </widget> - <widget class="QMenu" name="Edit"> - <property name="title"> - <string>&Edit</string> - </property> - <addaction name="editUserProfileAction"/> - <addaction name="editSysSettingsAction"/> - </widget> - <widget class="QMenu" name="Call"> - <property name="title"> - <string>C&all</string> - </property> - <widget class="QMenu" name="popupMenu_19"> - <property name="title"> - <string>Activate line</string> - </property> - <addaction name="actionLine1"/> - <addaction name="actionLine2"/> - </widget> - <addaction name="callInvite"/> - <addaction name="callAnswer"/> - <addaction name="callBye"/> - <addaction name="callReject"/> - <addaction name="callRedirect"/> - <addaction name="callTransfer"/> - <addaction name="callHold"/> - <addaction name="callConference"/> - <addaction name="callMute"/> - <addaction name="callDTMF"/> - <addaction name="callRedial"/> - <addaction name="separator"/> - <addaction name="callTermCap"/> - <addaction name="callActivate_LineAction"/> - <addaction name="popupMenu_19"/> + </layout> </widget> - <widget class="QMenu" name="Message"> - <property name="title"> - <string>&Message</string> - </property> - <addaction name="actionSendMsg"/> - </widget> - <widget class="QMenu" name="PopupMenu_2"> - <property name="title"> - <string>&Registration</string> - </property> - <addaction name="regRegister"/> - <addaction name="regDeregister"/> - <addaction name="regDeregisterAll"/> - <addaction name="regShow"/> - </widget> - <widget class="QMenu" name="PopupMenu_3"> - <property name="title"> - <string>&Services</string> - </property> - <addaction name="serviceDnd"/> - <addaction name="serviceRedirection"/> - <addaction name="serviceAutoAnswer"/> - <addaction name="servicesVoice_mailAction"/> - </widget> - <widget class="QMenu" name="View"> - <property name="title"> - <string>&View</string> - </property> - <addaction name="viewCall_HistoryAction"/> - <addaction name="viewLogAction"/> - <addaction name="viewDisplayAction"/> - <addaction name="viewBuddyListAction"/> - </widget> - <widget class="QMenu" name="Diamondcard"> - <property name="title"> - <string>Diamondcard</string> - </property> - <addaction name="diamondcardSign_upAction"/> - </widget> - <widget class="QMenu" name="helpMenu"> - <property name="title"> - <string>&Help</string> - </property> - <addaction name="helpWhats_ThisAction"/> - <addaction name="separator"/> - <addaction name="helpManualAction"/> - <addaction name="helpAboutAction"/> - <addaction name="helpAboutQtAction"/> - </widget> - <addaction name="fileMenu"/> - <addaction name="Edit"/> - <addaction name="Call"/> - <addaction name="Message"/> - <addaction name="PopupMenu_2"/> - <addaction name="PopupMenu_3"/> - <addaction name="View"/> - <addaction name="Diamondcard"/> - <addaction name="helpMenu"/> - <addaction name="separator"/> + </widget> + </item> + </layout> + </widget> + <widget class="Q3ToolBar" name="callToolbar" native="true"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>100</width> + <height>30</height> + </rect> + </property> + <property name="resizeEnabled" stdset="0"> + <bool>false</bool> + </property> + <property name="movingEnabled" stdset="0"> + <bool>true</bool> + </property> + <property name="horizontallyStretchable" stdset="0"> + <bool>true</bool> + </property> + <property name="verticallyStretchable" stdset="0"> + <bool>true</bool> + </property> + <property name="label" stdset="0"> + <string>Call Toolbar</string> + </property> + <addaction name="callInvite"/> + <addaction name="callAnswer"/> + <addaction name="callBye"/> + <addaction name="callReject"/> + <addaction name="callRedirect"/> + <addaction name="callTransfer"/> + <addaction name="callHold"/> + <addaction name="callConference"/> + <addaction name="callMute"/> + <addaction name="callDTMF"/> + <addaction name="callRedial"/> + <addaction name="actionSendMsg"/> + </widget> + <widget class="QMenuBar" name="menubar"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>0</width> + <height>0</height> + </rect> + </property> + <widget class="QMenu" name="fileMenu"> + <property name="title"> + <string>&File</string> + </property> + <addaction name="fileChangeUserAction"/> + <addaction name="separator"/> + <addaction name="fileExitAction"/> + </widget> + <widget class="QMenu" name="Edit"> + <property name="title"> + <string>&Edit</string> + </property> + <addaction name="editUserProfileAction"/> + <addaction name="editSysSettingsAction"/> + </widget> + <widget class="QMenu" name="Call"> + <property name="title"> + <string>C&all</string> + </property> + <widget class="QMenu" name="popupMenu_19"> + <property name="title"> + <string>Activate line</string> + </property> + <addaction name="actionLine1"/> + <addaction name="actionLine2"/> </widget> - <action name="fileExitAction"> - <property name="name"> - <cstring>fileExitAction</cstring> - </property> - <property name="icon"> - <iconset>exit.png</iconset> - </property> - <property name="iconText"> - <string>Quit</string> - </property> - <property name="text"> - <string>&Quit</string> - </property> - <property name="shortcut"> - <string>Ctrl+Q</string> - </property> - </action> - <action name="helpAboutAction"> - <property name="name"> - <cstring>helpAboutAction</cstring> - </property> - <property name="icon"> - <iconset>twinkle16.png</iconset> - </property> - <property name="iconText"> - <string>About Twinkle</string> - </property> - <property name="text"> - <string>&About Twinkle</string> - </property> - <property name="shortcut"> - <string/> - </property> - </action> - <action name="callInvite"> - <property name="name"> - <cstring>callInvite</cstring> - </property> - <property name="icon"> - <iconset>invite.png</iconset> - </property> - <property name="iconText"> - <string>Call</string> - </property> - <property name="text"> - <string>&Call...</string> - </property> - <property name="toolTip"> - <string>Call someone</string> - </property> - <property name="shortcut"> - <string>F5</string> - </property> - </action> - <action name="callAnswer"> - <property name="name"> - <cstring>callAnswer</cstring> - </property> - <property name="icon"> - <iconset>answer.png</iconset> - </property> - <property name="iconText"> - <string>Answer</string> - </property> - <property name="text"> - <string>&Answer</string> - </property> - <property name="toolTip"> - <string>Answer incoming call</string> - </property> - <property name="shortcut"> - <string>F6</string> - </property> - </action> - <action name="callBye"> - <property name="name"> - <cstring>callBye</cstring> - </property> - <property name="icon"> - <iconset>bye.png</iconset> - </property> - <property name="iconText"> - <string>Bye</string> - </property> - <property name="text"> - <string>&Bye</string> - </property> - <property name="toolTip"> - <string>Release call</string> - </property> - <property name="shortcut"> - <string>Esc</string> - </property> - </action> - <action name="callReject"> - <property name="name"> - <cstring>callReject</cstring> - </property> - <property name="icon"> - <iconset>reject.png</iconset> - </property> - <property name="iconText"> - <string>Reject</string> - </property> - <property name="text"> - <string>&Reject</string> - </property> - <property name="toolTip"> - <string>Reject incoming call</string> - </property> - <property name="shortcut"> - <string>F8</string> - </property> - </action> - <action name="callHold"> - <property name="name"> - <cstring>callHold</cstring> - </property> - <property name="checkable"> - <bool>true</bool> - </property> - <property name="icon"> - <iconset>hold.png</iconset> - </property> - <property name="iconText"> - <string>Hold</string> - </property> - <property name="text"> - <string>&Hold</string> - </property> - <property name="toolTip"> - <string>Put a call on hold, or retrieve a held call</string> - </property> - </action> - <action name="callRedirect"> - <property name="name"> - <cstring>callRedirect</cstring> - </property> - <property name="icon"> - <iconset>redirect.png</iconset> - </property> - <property name="iconText"> - <string>Redirect</string> - </property> - <property name="text"> - <string>R&edirect...</string> - </property> - <property name="toolTip"> - <string>Redirect incoming call without answering</string> - </property> - </action> - <action name="callDTMF"> - <property name="name"> - <cstring>callDTMF</cstring> - </property> - <property name="icon"> - <iconset>dtmf.png</iconset> - </property> - <property name="iconText"> - <string>Dtmf</string> - </property> - <property name="text"> - <string>&Dtmf...</string> - </property> - <property name="toolTip"> - <string>Open keypad to enter digits for voice menu's</string> - </property> - </action> - <action name="regRegister"> - <property name="name"> - <cstring>regRegister</cstring> - </property> - <property name="icon"> - <iconset>twinkle16.png</iconset> - </property> - <property name="iconText"> - <string>Register</string> - </property> - <property name="text"> - <string>&Register</string> - </property> - </action> - <action name="regDeregister"> - <property name="name"> - <cstring>regDeregister</cstring> - </property> - <property name="icon"> - <iconset>twinkle16-disabled.png</iconset> - </property> - <property name="iconText"> - <string>Deregister</string> - </property> - <property name="text"> - <string>&Deregister</string> - </property> - <property name="toolTip"> - <string>Deregister this device</string> - </property> - </action> - <action name="regShow"> - <property name="name"> - <cstring>regShow</cstring> - </property> - <property name="icon"> - <iconset>reg-query.png</iconset> - </property> - <property name="iconText"> - <string>Show registrations</string> - </property> - <property name="text"> - <string>&Show registrations</string> - </property> - </action> - <action name="callTermCap"> - <property name="name"> - <cstring>callTermCap</cstring> - </property> - <property name="iconText"> - <string>Terminal capabilities</string> - </property> - <property name="text"> - <string>&Terminal capabilities...</string> - </property> - <property name="toolTip"> - <string>Request terminal capabilities from someone</string> - </property> - </action> - <action name="serviceDnd"> - <property name="name"> - <cstring>serviceDnd</cstring> - </property> - <property name="checkable"> - <bool>true</bool> - </property> - <property name="icon"> - <iconset>cancel.png</iconset> - </property> - <property name="iconText"> - <string>Do not disturb</string> - </property> - <property name="text"> - <string>&Do not disturb</string> - </property> - </action> - <action name="serviceRedirection"> - <property name="name"> - <cstring>serviceRedirection</cstring> - </property> - <property name="icon"> - <iconset>cf.png</iconset> - </property> - <property name="iconText"> - <string>Call redirection</string> - </property> - <property name="text"> - <string>Call &redirection...</string> - </property> - </action> - <action name="callRedial"> - <property name="name"> - <cstring>callRedial</cstring> - </property> - <property name="icon"> - <iconset>redial.png</iconset> - </property> - <property name="iconText"> - <string>Redial</string> - </property> - <property name="text"> - <string>&Redial</string> - </property> - <property name="toolTip"> - <string>Repeat last call</string> - </property> - <property name="shortcut"> - <string>F12</string> - </property> - </action> - <action name="helpAboutQtAction"> - <property name="name"> - <cstring>helpAboutQtAction</cstring> - </property> - <property name="icon"> - <iconset>qt-logo.png</iconset> - </property> - <property name="iconText"> - <string>About Qt</string> - </property> - <property name="text"> - <string>About &Qt</string> - </property> - </action> - <action name="editUserProfileAction"> - <property name="name"> - <cstring>editUserProfileAction</cstring> - </property> - <property name="icon"> - <iconset>penguin-small.png</iconset> - </property> - <property name="iconText"> - <string>User profile</string> - </property> - <property name="text"> - <string>&User profile...</string> - </property> - </action> - <action name="callConference"> - <property name="name"> - <cstring>callConference</cstring> - </property> - <property name="icon"> - <iconset>conf.png</iconset> - </property> - <property name="iconText"> - <string>Conf</string> - </property> - <property name="text"> - <string>&Conference</string> - </property> - <property name="toolTip"> - <string>Join two calls in a 3-way conference</string> - </property> - </action> - <action name="callMute"> - <property name="name"> - <cstring>callMute</cstring> - </property> - <property name="checkable"> - <bool>true</bool> - </property> - <property name="icon"> - <iconset>mute.png</iconset> - </property> - <property name="iconText"> - <string>Mute</string> - </property> - <property name="text"> - <string>&Mute</string> - </property> - <property name="toolTip"> - <string>Mute a call</string> - </property> - </action> - <action name="callTransfer"> - <property name="name"> - <cstring>callTransfer</cstring> - </property> - <property name="checkable"> - <bool>true</bool> - </property> - <property name="icon"> - <iconset>transfer.png</iconset> - </property> - <property name="iconText"> - <string>Xfer</string> - </property> - <property name="text"> - <string>Trans&fer...</string> - </property> - <property name="toolTip"> - <string>Transfer call</string> - </property> - </action> - <action name="editSysSettingsAction"> - <property name="name"> - <cstring>editSysSettingsAction</cstring> - </property> - <property name="icon"> - <iconset>settings.png</iconset> - </property> - <property name="iconText"> - <string>System settings</string> - </property> - <property name="text"> - <string>&System settings...</string> - </property> - </action> - <action name="registrationAction"> - <property name="name"> - <cstring>registrationAction</cstring> - </property> - <property name="iconText"> - <string/> - </property> - <property name="text"> - <string/> - </property> - </action> - <action name="regDeregisterAll"> - <property name="name"> - <cstring>regDeregisterAll</cstring> - </property> - <property name="icon"> - <iconset>twinkle16-disabled.png</iconset> - </property> - <property name="iconText"> - <string>Deregister all</string> - </property> - <property name="text"> - <string>Deregister &all</string> - </property> - <property name="toolTip"> - <string>Deregister all your registered devices</string> - </property> - </action> - <action name="serviceAutoAnswer"> - <property name="name"> - <cstring>serviceAutoAnswer</cstring> - </property> - <property name="checkable"> - <bool>true</bool> - </property> - <property name="icon"> - <iconset>auto_answer.png</iconset> - </property> - <property name="iconText"> - <string>Auto answer</string> - </property> - <property name="text"> - <string>&Auto answer</string> - </property> - </action> - <action name="viewLogAction"> - <property name="name"> - <cstring>viewLogAction</cstring> - </property> - <property name="icon"> - <iconset>log_small.png</iconset> - </property> - <property name="iconText"> - <string>Log</string> - </property> - <property name="text"> - <string>&Log...</string> - </property> - </action> - <action name="viewCall_HistoryAction"> - <property name="name"> - <cstring>viewCall_HistoryAction</cstring> - </property> - <property name="icon"> - <iconset>missed.png</iconset> - </property> - <property name="iconText"> - <string>Call history</string> - </property> - <property name="text"> - <string>Call &history...</string> - </property> - <property name="shortcut"> - <string>F9</string> - </property> - </action> - <action name="fileChangeUserAction"> - <property name="name"> - <cstring>fileChangeUserAction</cstring> - </property> - <property name="icon"> - <iconset>penguin-small.png</iconset> - </property> - <property name="iconText"> - <string>Change user ...</string> - </property> - <property name="text"> - <string>&Change user ...</string> - </property> - <property name="toolTip"> - <string>Activate or de-activate users</string> - </property> - </action> - <action name="helpWhats_ThisAction"> - <property name="name"> - <cstring>helpWhats_ThisAction</cstring> - </property> - <property name="icon"> - <iconset>contexthelp.png</iconset> - </property> - <property name="iconText"> - <string>What's This?</string> - </property> - <property name="text"> - <string>What's &This?</string> - </property> - <property name="shortcut"> - <string>Shift+F1</string> - </property> - </action> - <action name="callActivate_LineAction"> - <property name="name"> - <cstring>callActivate_LineAction</cstring> - </property> - <property name="checked"> - <bool>false</bool> - </property> - <property name="iconText"> - <string>Activate line</string> - </property> - <property name="text"> - <string>Activate line</string> - </property> - </action> - <action name="viewDisplayAction"> - <property name="name"> - <cstring>viewDisplayAction</cstring> - </property> - <property name="checkable"> - <bool>true</bool> - </property> - <property name="checked"> - <bool>true</bool> - </property> - <property name="iconText"> - <string>Display</string> - </property> - <property name="text"> - <string>&Display</string> - </property> - </action> - <action name="servicesVoice_mailAction"> - <property name="name"> - <cstring>servicesVoice_mailAction</cstring> - </property> - <property name="icon"> - <iconset>mwi_none16.png</iconset> - </property> - <property name="iconText"> - <string>Voice mail</string> - </property> - <property name="text"> - <string>&Voice mail</string> - </property> - <property name="toolTip"> - <string>Access voice mail</string> - </property> - <property name="shortcut"> - <string>F11</string> - </property> - </action> - <action name="actionSendMsg"> - <property name="name"> - <cstring>actionSendMsg</cstring> - </property> - <property name="icon"> - <iconset>message.png</iconset> - </property> - <property name="iconText"> - <string>Msg</string> - </property> - <property name="text"> - <string>Instant &message...</string> - </property> - <property name="toolTip"> - <string>Instant message</string> - </property> - </action> - <action name="viewBuddyListAction"> - <property name="name"> - <cstring>viewBuddyListAction</cstring> - </property> - <property name="checkable"> - <bool>true</bool> - </property> - <property name="checked"> - <bool>true</bool> - </property> - <property name="iconText"> - <string>Buddy list</string> - </property> - <property name="text"> - <string>&Buddy list</string> - </property> - <property name="toolTip"> - <string>Buddy list</string> - </property> - </action> - <action name="helpManualAction"> - <property name="name"> - <cstring>helpManualAction</cstring> - </property> - <property name="iconText"> - <string>Manual</string> - </property> - <property name="text"> - <string>&Manual</string> - </property> - </action> - <action name="diamondcardSign_upAction"> - <property name="name"> - <cstring>diamondcardSign_upAction</cstring> - </property> - <property name="iconText"> - <string>Sign up</string> - </property> - <property name="text"> - <string>&Sign up...</string> - </property> - <property name="toolTip"> - <string>Sign up</string> - </property> - </action> - <actiongroup name="actgrActivateLine"> - <action name="actionLine1"> - <property name="name"> - <cstring>actionLine1</cstring> - </property> - <property name="checkable"> - <bool>true</bool> - </property> - <property name="checked"> - <bool>true</bool> - </property> - <property name="iconText"> - <string>Line 1</string> - </property> - </action> - <action name="actionLine2"> - <property name="name"> - <cstring>actionLine2</cstring> - </property> - <property name="checkable"> - <bool>true</bool> - </property> - <property name="iconText"> - <string>Line 2</string> - </property> - </action> - <property name="name"> - <cstring>actgrActivateLine</cstring> - </property> - </actiongroup> + <addaction name="callInvite"/> + <addaction name="callAnswer"/> + <addaction name="callBye"/> + <addaction name="callReject"/> + <addaction name="callRedirect"/> + <addaction name="callTransfer"/> + <addaction name="callHold"/> + <addaction name="callConference"/> + <addaction name="callMute"/> + <addaction name="callDTMF"/> + <addaction name="callRedial"/> + <addaction name="separator"/> + <addaction name="callTermCap"/> + <addaction name="callActivate_LineAction"/> + <addaction name="popupMenu_19"/> + </widget> + <widget class="QMenu" name="Message"> + <property name="title"> + <string>&Message</string> + </property> + <addaction name="actionSendMsg"/> + </widget> + <widget class="QMenu" name="PopupMenu_2"> + <property name="title"> + <string>&Registration</string> + </property> + <addaction name="regRegister"/> + <addaction name="regDeregister"/> + <addaction name="regDeregisterAll"/> + <addaction name="regShow"/> + </widget> + <widget class="QMenu" name="PopupMenu_3"> + <property name="title"> + <string>&Services</string> + </property> + <addaction name="serviceDnd"/> + <addaction name="serviceRedirection"/> + <addaction name="serviceAutoAnswer"/> + <addaction name="servicesVoice_mailAction"/> + </widget> + <widget class="QMenu" name="View"> + <property name="title"> + <string>&View</string> + </property> + <addaction name="viewCall_HistoryAction"/> + <addaction name="viewLogAction"/> + <addaction name="viewDisplayAction"/> + <addaction name="viewBuddyListAction"/> + </widget> + <widget class="QMenu" name="Diamondcard"> + <property name="title"> + <string>Diamondcard</string> + </property> + <addaction name="diamondcardSign_upAction"/> + </widget> + <widget class="QMenu" name="helpMenu"> + <property name="title"> + <string>&Help</string> + </property> + <addaction name="helpWhats_ThisAction"/> + <addaction name="separator"/> + <addaction name="helpManualAction"/> + <addaction name="helpAboutAction"/> + <addaction name="helpAboutQtAction"/> + </widget> + <addaction name="fileMenu"/> + <addaction name="Edit"/> + <addaction name="Call"/> + <addaction name="Message"/> + <addaction name="PopupMenu_2"/> + <addaction name="PopupMenu_3"/> + <addaction name="View"/> + <addaction name="Diamondcard"/> + <addaction name="helpMenu"/> + <addaction name="separator"/> </widget> - <layoutdefault spacing="6" margin="11"/> - <pixmapfunction>qPixmapFromMimeSource</pixmapfunction> - <tabstops> - <tabstop>callComboBox</tabstop> - <tabstop>addressToolButton</tabstop> - <tabstop>callPushButton</tabstop> - <tabstop>displayTextEdit</tabstop> - <tabstop>line1RadioButton</tabstop> - <tabstop>line2RadioButton</tabstop> - <tabstop>userComboBox</tabstop> - <tabstop>from1Label</tabstop> - <tabstop>subject1Label</tabstop> - <tabstop>to1Label</tabstop> - <tabstop>subject2Label</tabstop> - <tabstop>from2Label</tabstop> - <tabstop>to2Label</tabstop> - </tabstops> - <includes> - <include location="local">phone.h</include> - <include location="local">ui_dtmfform.h</include> - <include location="local">ui_inviteform.h</include> - <include location="local">ui_redirectform.h</include> - <include location="local">ui_termcapform.h</include> - <include location="local">ui_srvredirectform.h</include> - <include location="local">ui_userprofileform.h</include> - <include location="local">ui_transferform.h</include> - <include location="local">ui_syssettingsform.h</include> - <include location="local">ui_logviewform.h</include> - <include location="local">ui_historyform.h</include> - <include location="local">ui_selectuserform.h</include> - <include location="local">ui_selectprofileform.h</include> - <include location="local">qevent.h</include> - <include location="local">twinklesystray.h</include> - <include location="local">im/msg_session.h</include> - <include location="local">messageformview.h</include> - <include location="local">buddylistview.h</include> - <include location="local">diamondcard.h</include> - </includes> - <connections> - <connection> - <sender>helpWhats_ThisAction</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>whatsThis()</slot> - </connection> - <connection> - <sender>addressToolButton</sender> - <signal>clicked()</signal> - <receiver>MphoneForm</receiver> - <slot>showAddressBook()</slot> - </connection> - <connection> - <sender>callPushButton</sender> - <signal>clicked()</signal> - <receiver>MphoneForm</receiver> - <slot>quickCall()</slot> - </connection> - <connection> - <sender>fileChangeUserAction</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>selectProfile()</slot> - </connection> - <connection> - <sender>viewCall_HistoryAction</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>viewHistory()</slot> - </connection> - <connection> - <sender>viewLogAction</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>viewLog()</slot> - </connection> - <connection> - <sender>regDeregisterAll</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>phoneDeregisterAll()</slot> - </connection> - <connection> - <sender>editSysSettingsAction</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>editSysSettings()</slot> - </connection> - <connection> - <sender>callMute</sender> - <signal>toggled(bool)</signal> - <receiver>MphoneForm</receiver> - <slot>phoneMute(bool)</slot> - </connection> - <connection> - <sender>callConference</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>phoneConference()</slot> - </connection> - <connection> - <sender>editUserProfileAction</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>editUserProfile()</slot> - </connection> - <connection> - <sender>helpAboutQtAction</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>aboutQt()</slot> - </connection> - <connection> - <sender>helpAboutAction</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>about()</slot> - </connection> - <connection> - <sender>callRedial</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>phoneRedial()</slot> - </connection> - <connection> - <sender>serviceRedirection</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>srvRedirect()</slot> - </connection> - <connection> - <sender>regShow</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>phoneShowRegistrations()</slot> - </connection> - <connection> - <sender>regDeregister</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>phoneDeregister()</slot> - </connection> - <connection> - <sender>regRegister</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>phoneRegister()</slot> - </connection> - <connection> - <sender>callHold</sender> - <signal>toggled(bool)</signal> - <receiver>MphoneForm</receiver> - <slot>phoneHold(bool)</slot> - </connection> - <connection> - <sender>callReject</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>phoneReject()</slot> - </connection> - <connection> - <sender>callRedirect</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>phoneRedirect()</slot> - </connection> - <connection> - <sender>callInvite</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>phoneInvite()</slot> - </connection> - <connection> - <sender>callDTMF</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>phoneDTMF()</slot> - </connection> - <connection> - <sender>callBye</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>phoneBye()</slot> - </connection> - <connection> - <sender>callAnswer</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>phoneAnswer()</slot> - </connection> - <connection> - <sender>callTermCap</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>phoneTermCap()</slot> - </connection> - <connection> - <sender>line2RadioButton</sender> - <signal>toggled(bool)</signal> - <receiver>MphoneForm</receiver> - <slot>line2rbChangedState(bool)</slot> - </connection> - <connection> - <sender>line1RadioButton</sender> - <signal>toggled(bool)</signal> - <receiver>MphoneForm</receiver> - <slot>line1rbChangedState(bool)</slot> - </connection> - <connection> - <sender>fileExitAction</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>fileExit()</slot> - </connection> - <connection> - <sender>actionLine1</sender> - <signal>toggled(bool)</signal> - <receiver>MphoneForm</receiver> - <slot>actionLine1Toggled(bool)</slot> - </connection> - <connection> - <sender>actionLine2</sender> - <signal>toggled(bool)</signal> - <receiver>MphoneForm</receiver> - <slot>actionLine2Toggled(bool)</slot> - </connection> - <connection> - <sender>viewDisplayAction</sender> - <signal>toggled(bool)</signal> - <receiver>MphoneForm</receiver> - <slot>showDisplay(bool)</slot> - </connection> - <connection> - <sender>callTransfer</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>phoneTransfer()</slot> - </connection> - <connection> - <sender>servicesVoice_mailAction</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>popupMenuVoiceMail()</slot> - </connection> - <connection> - <sender>actionSendMsg</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>startMessageSession()</slot> - </connection> - <connection> - <sender>buddyListView</sender> - <signal>rightButtonPressed(Q3ListViewItem*,QPoint,int)</signal> - <receiver>MphoneForm</receiver> - <slot>showBuddyListPopupMenu(Q3ListViewItem*,QPoint)</slot> - </connection> - <connection> - <sender>buddyListView</sender> - <signal>doubleClicked(Q3ListViewItem*)</signal> - <receiver>MphoneForm</receiver> - <slot>doMessageBuddy(Q3ListViewItem*)</slot> - </connection> - <connection> - <sender>viewBuddyListAction</sender> - <signal>toggled(bool)</signal> - <receiver>MphoneForm</receiver> - <slot>showBuddyList(bool)</slot> - </connection> - <connection> - <sender>helpManualAction</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>manual()</slot> - </connection> - <connection> - <sender>diamondcardSign_upAction</sender> - <signal>activated()</signal> - <receiver>MphoneForm</receiver> - <slot>DiamondcardSignUp()</slot> - </connection> - </connections> + <action name="fileExitAction"> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/exit.png</normaloff>:/icons/images/exit.png</iconset> + </property> + <property name="text"> + <string>&Quit</string> + </property> + <property name="iconText"> + <string>Quit</string> + </property> + <property name="shortcut"> + <string>Ctrl+Q</string> + </property> + <property name="name" stdset="0"> + <cstring>fileExitAction</cstring> + </property> + </action> + <action name="helpAboutAction"> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/twinkle16.png</normaloff>:/icons/images/twinkle16.png</iconset> + </property> + <property name="text"> + <string>&About Twinkle</string> + </property> + <property name="iconText"> + <string>About Twinkle</string> + </property> + <property name="shortcut"> + <string/> + </property> + <property name="name" stdset="0"> + <cstring>helpAboutAction</cstring> + </property> + </action> + <action name="callInvite"> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/invite.png</normaloff>:/icons/images/invite.png</iconset> + </property> + <property name="text"> + <string>&Call...</string> + </property> + <property name="iconText"> + <string>Call</string> + </property> + <property name="toolTip"> + <string>Call someone</string> + </property> + <property name="shortcut"> + <string>F5</string> + </property> + <property name="name" stdset="0"> + <cstring>callInvite</cstring> + </property> + </action> + <action name="callAnswer"> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/answer.png</normaloff>:/icons/images/answer.png</iconset> + </property> + <property name="text"> + <string>&Answer</string> + </property> + <property name="iconText"> + <string>Answer</string> + </property> + <property name="toolTip"> + <string>Answer incoming call</string> + </property> + <property name="shortcut"> + <string>F6</string> + </property> + <property name="name" stdset="0"> + <cstring>callAnswer</cstring> + </property> + </action> + <action name="callBye"> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/bye.png</normaloff>:/icons/images/bye.png</iconset> + </property> + <property name="text"> + <string>&Bye</string> + </property> + <property name="iconText"> + <string>Bye</string> + </property> + <property name="toolTip"> + <string>Release call</string> + </property> + <property name="shortcut"> + <string>Esc</string> + </property> + <property name="name" stdset="0"> + <cstring>callBye</cstring> + </property> + </action> + <action name="callReject"> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/reject.png</normaloff>:/icons/images/reject.png</iconset> + </property> + <property name="text"> + <string>&Reject</string> + </property> + <property name="iconText"> + <string>Reject</string> + </property> + <property name="toolTip"> + <string>Reject incoming call</string> + </property> + <property name="shortcut"> + <string>F8</string> + </property> + <property name="name" stdset="0"> + <cstring>callReject</cstring> + </property> + </action> + <action name="callHold"> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/hold.png</normaloff>:/icons/images/hold.png</iconset> + </property> + <property name="text"> + <string>&Hold</string> + </property> + <property name="iconText"> + <string>Hold</string> + </property> + <property name="toolTip"> + <string>Put a call on hold, or retrieve a held call</string> + </property> + <property name="name" stdset="0"> + <cstring>callHold</cstring> + </property> + </action> + <action name="callRedirect"> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/redirect.png</normaloff>:/icons/images/redirect.png</iconset> + </property> + <property name="text"> + <string>R&edirect...</string> + </property> + <property name="iconText"> + <string>Redirect</string> + </property> + <property name="toolTip"> + <string>Redirect incoming call without answering</string> + </property> + <property name="name" stdset="0"> + <cstring>callRedirect</cstring> + </property> + </action> + <action name="callDTMF"> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/dtmf.png</normaloff>:/icons/images/dtmf.png</iconset> + </property> + <property name="text"> + <string>&Dtmf...</string> + </property> + <property name="iconText"> + <string>Dtmf</string> + </property> + <property name="toolTip"> + <string>Open keypad to enter digits for voice menu's</string> + </property> + <property name="name" stdset="0"> + <cstring>callDTMF</cstring> + </property> + </action> + <action name="regRegister"> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/twinkle16.png</normaloff>:/icons/images/twinkle16.png</iconset> + </property> + <property name="text"> + <string>&Register</string> + </property> + <property name="iconText"> + <string>Register</string> + </property> + <property name="name" stdset="0"> + <cstring>regRegister</cstring> + </property> + </action> + <action name="regDeregister"> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/twinkle16-disabled.png</normaloff>:/icons/images/twinkle16-disabled.png</iconset> + </property> + <property name="text"> + <string>&Deregister</string> + </property> + <property name="iconText"> + <string>Deregister</string> + </property> + <property name="toolTip"> + <string>Deregister this device</string> + </property> + <property name="name" stdset="0"> + <cstring>regDeregister</cstring> + </property> + </action> + <action name="regShow"> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/reg-query.png</normaloff>:/icons/images/reg-query.png</iconset> + </property> + <property name="text"> + <string>&Show registrations</string> + </property> + <property name="iconText"> + <string>Show registrations</string> + </property> + <property name="name" stdset="0"> + <cstring>regShow</cstring> + </property> + </action> + <action name="callTermCap"> + <property name="text"> + <string>&Terminal capabilities...</string> + </property> + <property name="iconText"> + <string>Terminal capabilities</string> + </property> + <property name="toolTip"> + <string>Request terminal capabilities from someone</string> + </property> + <property name="name" stdset="0"> + <cstring>callTermCap</cstring> + </property> + </action> + <action name="serviceDnd"> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/cancel.png</normaloff>:/icons/images/cancel.png</iconset> + </property> + <property name="text"> + <string>&Do not disturb</string> + </property> + <property name="iconText"> + <string>Do not disturb</string> + </property> + <property name="name" stdset="0"> + <cstring>serviceDnd</cstring> + </property> + </action> + <action name="serviceRedirection"> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/cf.png</normaloff>:/icons/images/cf.png</iconset> + </property> + <property name="text"> + <string>Call &redirection...</string> + </property> + <property name="iconText"> + <string>Call redirection</string> + </property> + <property name="name" stdset="0"> + <cstring>serviceRedirection</cstring> + </property> + </action> + <action name="callRedial"> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/redial.png</normaloff>:/icons/images/redial.png</iconset> + </property> + <property name="text"> + <string>&Redial</string> + </property> + <property name="iconText"> + <string>Redial</string> + </property> + <property name="toolTip"> + <string>Repeat last call</string> + </property> + <property name="shortcut"> + <string>F12</string> + </property> + <property name="name" stdset="0"> + <cstring>callRedial</cstring> + </property> + </action> + <action name="helpAboutQtAction"> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/qt-logo.png</normaloff>:/icons/images/qt-logo.png</iconset> + </property> + <property name="text"> + <string>About &Qt</string> + </property> + <property name="iconText"> + <string>About Qt</string> + </property> + <property name="name" stdset="0"> + <cstring>helpAboutQtAction</cstring> + </property> + </action> + <action name="editUserProfileAction"> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/penguin-small.png</normaloff>:/icons/images/penguin-small.png</iconset> + </property> + <property name="text"> + <string>&User profile...</string> + </property> + <property name="iconText"> + <string>User profile</string> + </property> + <property name="name" stdset="0"> + <cstring>editUserProfileAction</cstring> + </property> + </action> + <action name="callConference"> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/conference.png</normaloff>:/icons/images/conference.png</iconset> + </property> + <property name="text"> + <string>&Conference</string> + </property> + <property name="iconText"> + <string>Conf</string> + </property> + <property name="toolTip"> + <string>Join two calls in a 3-way conference</string> + </property> + <property name="name" stdset="0"> + <cstring>callConference</cstring> + </property> + </action> + <action name="callMute"> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/mute.png</normaloff>:/icons/images/mute.png</iconset> + </property> + <property name="text"> + <string>&Mute</string> + </property> + <property name="iconText"> + <string>Mute</string> + </property> + <property name="toolTip"> + <string>Mute a call</string> + </property> + <property name="name" stdset="0"> + <cstring>callMute</cstring> + </property> + </action> + <action name="callTransfer"> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/transfer.png</normaloff>:/icons/images/transfer.png</iconset> + </property> + <property name="text"> + <string>Trans&fer...</string> + </property> + <property name="iconText"> + <string>Xfer</string> + </property> + <property name="toolTip"> + <string>Transfer call</string> + </property> + <property name="name" stdset="0"> + <cstring>callTransfer</cstring> + </property> + </action> + <action name="editSysSettingsAction"> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/settings.png</normaloff>:/icons/images/settings.png</iconset> + </property> + <property name="text"> + <string>&System settings...</string> + </property> + <property name="iconText"> + <string>System settings</string> + </property> + <property name="name" stdset="0"> + <cstring>editSysSettingsAction</cstring> + </property> + </action> + <action name="registrationAction"> + <property name="text"> + <string/> + </property> + <property name="iconText"> + <string/> + </property> + <property name="name" stdset="0"> + <cstring>registrationAction</cstring> + </property> + </action> + <action name="regDeregisterAll"> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/twinkle16-disabled.png</normaloff>:/icons/images/twinkle16-disabled.png</iconset> + </property> + <property name="text"> + <string>Deregister &all</string> + </property> + <property name="iconText"> + <string>Deregister all</string> + </property> + <property name="toolTip"> + <string>Deregister all your registered devices</string> + </property> + <property name="name" stdset="0"> + <cstring>regDeregisterAll</cstring> + </property> + </action> + <action name="serviceAutoAnswer"> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/auto_answer.png</normaloff>:/icons/images/auto_answer.png</iconset> + </property> + <property name="text"> + <string>&Auto answer</string> + </property> + <property name="iconText"> + <string>Auto answer</string> + </property> + <property name="name" stdset="0"> + <cstring>serviceAutoAnswer</cstring> + </property> + </action> + <action name="viewLogAction"> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/log_small.png</normaloff>:/icons/images/log_small.png</iconset> + </property> + <property name="text"> + <string>&Log...</string> + </property> + <property name="iconText"> + <string>Log</string> + </property> + <property name="name" stdset="0"> + <cstring>viewLogAction</cstring> + </property> + </action> + <action name="viewCall_HistoryAction"> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/missed.png</normaloff>:/icons/images/missed.png</iconset> + </property> + <property name="text"> + <string>Call &history...</string> + </property> + <property name="iconText"> + <string>Call history</string> + </property> + <property name="shortcut"> + <string>F9</string> + </property> + <property name="name" stdset="0"> + <cstring>viewCall_HistoryAction</cstring> + </property> + </action> + <action name="fileChangeUserAction"> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/penguin-small.png</normaloff>:/icons/images/penguin-small.png</iconset> + </property> + <property name="text"> + <string>&Change user ...</string> + </property> + <property name="iconText"> + <string>Change user ...</string> + </property> + <property name="toolTip"> + <string>Activate or de-activate users</string> + </property> + <property name="name" stdset="0"> + <cstring>fileChangeUserAction</cstring> + </property> + </action> + <action name="helpWhats_ThisAction"> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/contexthelp.png</normaloff>:/icons/images/contexthelp.png</iconset> + </property> + <property name="text"> + <string>What's &This?</string> + </property> + <property name="iconText"> + <string>What's This?</string> + </property> + <property name="shortcut"> + <string>Shift+F1</string> + </property> + <property name="name" stdset="0"> + <cstring>helpWhats_ThisAction</cstring> + </property> + </action> + <action name="callActivate_LineAction"> + <property name="checked"> + <bool>false</bool> + </property> + <property name="text"> + <string>Activate line</string> + </property> + <property name="iconText"> + <string>Activate line</string> + </property> + <property name="name" stdset="0"> + <cstring>callActivate_LineAction</cstring> + </property> + </action> + <action name="viewDisplayAction"> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="checked"> + <bool>true</bool> + </property> + <property name="text"> + <string>&Display</string> + </property> + <property name="iconText"> + <string>Display</string> + </property> + <property name="name" stdset="0"> + <cstring>viewDisplayAction</cstring> + </property> + </action> + <action name="servicesVoice_mailAction"> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/mwi_none16.png</normaloff>:/icons/images/mwi_none16.png</iconset> + </property> + <property name="text"> + <string>&Voice mail</string> + </property> + <property name="iconText"> + <string>Voice mail</string> + </property> + <property name="toolTip"> + <string>Access voice mail</string> + </property> + <property name="shortcut"> + <string>F11</string> + </property> + <property name="name" stdset="0"> + <cstring>servicesVoice_mailAction</cstring> + </property> + </action> + <action name="actionSendMsg"> + <property name="icon"> + <iconset resource="icons.qrc"> + <normaloff>:/icons/images/message.png</normaloff>:/icons/images/message.png</iconset> + </property> + <property name="text"> + <string>Instant &message...</string> + </property> + <property name="iconText"> + <string>Msg</string> + </property> + <property name="toolTip"> + <string>Instant message</string> + </property> + <property name="name" stdset="0"> + <cstring>actionSendMsg</cstring> + </property> + </action> + <action name="viewBuddyListAction"> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="checked"> + <bool>true</bool> + </property> + <property name="text"> + <string>&Buddy list</string> + </property> + <property name="iconText"> + <string>Buddy list</string> + </property> + <property name="toolTip"> + <string>Buddy list</string> + </property> + <property name="name" stdset="0"> + <cstring>viewBuddyListAction</cstring> + </property> + </action> + <action name="helpManualAction"> + <property name="text"> + <string>&Manual</string> + </property> + <property name="iconText"> + <string>Manual</string> + </property> + <property name="name" stdset="0"> + <cstring>helpManualAction</cstring> + </property> + </action> + <action name="diamondcardSign_upAction"> + <property name="text"> + <string>&Sign up...</string> + </property> + <property name="iconText"> + <string>Sign up</string> + </property> + <property name="toolTip"> + <string>Sign up</string> + </property> + <property name="name" stdset="0"> + <cstring>diamondcardSign_upAction</cstring> + </property> + </action> + <actiongroup name="actgrActivateLine"> + <action name="actionLine1"> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="checked"> + <bool>true</bool> + </property> + <property name="iconText"> + <string>Line 1</string> + </property> + <property name="name" stdset="0"> + <cstring>actionLine1</cstring> + </property> + </action> + <action name="actionLine2"> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="iconText"> + <string>Line 2</string> + </property> + <property name="name" stdset="0"> + <cstring>actionLine2</cstring> + </property> + </action> + <property name="name" stdset="0"> + <cstring>actgrActivateLine</cstring> + </property> + </actiongroup> + </widget> + <layoutdefault spacing="6" margin="11"/> + <pixmapfunction>qPixmapFromMimeSource</pixmapfunction> + <customwidgets> + <customwidget> + <class>Q3MainWindow</class> + <extends>QWidget</extends> + <header>q3mainwindow.h</header> + <container>1</container> + </customwidget> + <customwidget> + <class>Q3ListView</class> + <extends>QWidget</extends> + <header>q3listview.h</header> + </customwidget> + <customwidget> + <class>Q3GroupBox</class> + <extends>QWidget</extends> + <header>q3groupbox.h</header> + </customwidget> + <customwidget> + <class>Q3TextEdit</class> + <extends>QWidget</extends> + <header>q3textedit.h</header> + </customwidget> + <customwidget> + <class>Q3ButtonGroup</class> + <extends>QWidget</extends> + <header>q3buttongroup.h</header> + </customwidget> + <customwidget> + <class>Q3ToolBar</class> + <extends>QWidget</extends> + <header>q3toolbar.h</header> + </customwidget> + </customwidgets> + <tabstops> + <tabstop>callComboBox</tabstop> + <tabstop>addressToolButton</tabstop> + <tabstop>callPushButton</tabstop> + <tabstop>displayTextEdit</tabstop> + <tabstop>line1RadioButton</tabstop> + <tabstop>line2RadioButton</tabstop> + <tabstop>userComboBox</tabstop> + <tabstop>from1Label</tabstop> + <tabstop>subject1Label</tabstop> + <tabstop>to1Label</tabstop> + <tabstop>subject2Label</tabstop> + <tabstop>from2Label</tabstop> + <tabstop>to2Label</tabstop> + </tabstops> + <includes> + <include location="local">phone.h</include> + <include location="local">ui_dtmfform.h</include> + <include location="local">ui_inviteform.h</include> + <include location="local">ui_redirectform.h</include> + <include location="local">ui_termcapform.h</include> + <include location="local">ui_srvredirectform.h</include> + <include location="local">ui_userprofileform.h</include> + <include location="local">ui_transferform.h</include> + <include location="local">ui_syssettingsform.h</include> + <include location="local">ui_logviewform.h</include> + <include location="local">ui_historyform.h</include> + <include location="local">ui_selectuserform.h</include> + <include location="local">ui_selectprofileform.h</include> + <include location="local">qevent.h</include> + <include location="local">im/msg_session.h</include> + <include location="local">messageformview.h</include> + <include location="local">buddylistview.h</include> + <include location="local">diamondcard.h</include> + </includes> + <resources> + <include location="icons.qrc"/> + </resources> + <connections> + <connection> + <sender>helpWhats_ThisAction</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>whatsThis()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>addressToolButton</sender> + <signal>clicked()</signal> + <receiver>MphoneForm</receiver> + <slot>showAddressBook()</slot> + <hints> + <hint type="sourcelabel"> + <x>20</x> + <y>20</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>callPushButton</sender> + <signal>clicked()</signal> + <receiver>MphoneForm</receiver> + <slot>quickCall()</slot> + <hints> + <hint type="sourcelabel"> + <x>20</x> + <y>20</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>fileChangeUserAction</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>selectProfile()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>viewCall_HistoryAction</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>viewHistory()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>viewLogAction</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>viewLog()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>regDeregisterAll</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>phoneDeregisterAll()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>editSysSettingsAction</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>editSysSettings()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>callMute</sender> + <signal>toggled(bool)</signal> + <receiver>MphoneForm</receiver> + <slot>phoneMute(bool)</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>callConference</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>phoneConference()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>editUserProfileAction</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>editUserProfile()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>helpAboutQtAction</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>aboutQt()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>helpAboutAction</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>about()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>callRedial</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>phoneRedial()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>serviceRedirection</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>srvRedirect()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>regShow</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>phoneShowRegistrations()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>regDeregister</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>phoneDeregister()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>regRegister</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>phoneRegister()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>callHold</sender> + <signal>toggled(bool)</signal> + <receiver>MphoneForm</receiver> + <slot>phoneHold(bool)</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>callReject</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>phoneReject()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>callRedirect</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>phoneRedirect()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>callInvite</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>phoneInvite()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>callDTMF</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>phoneDTMF()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>callBye</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>phoneBye()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>callAnswer</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>phoneAnswer()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>callTermCap</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>phoneTermCap()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>line2RadioButton</sender> + <signal>toggled(bool)</signal> + <receiver>MphoneForm</receiver> + <slot>line2rbChangedState(bool)</slot> + <hints> + <hint type="sourcelabel"> + <x>20</x> + <y>20</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>line1RadioButton</sender> + <signal>toggled(bool)</signal> + <receiver>MphoneForm</receiver> + <slot>line1rbChangedState(bool)</slot> + <hints> + <hint type="sourcelabel"> + <x>20</x> + <y>20</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>fileExitAction</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>fileExit()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>actionLine1</sender> + <signal>toggled(bool)</signal> + <receiver>MphoneForm</receiver> + <slot>actionLine1Toggled(bool)</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>actionLine2</sender> + <signal>toggled(bool)</signal> + <receiver>MphoneForm</receiver> + <slot>actionLine2Toggled(bool)</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>viewDisplayAction</sender> + <signal>toggled(bool)</signal> + <receiver>MphoneForm</receiver> + <slot>showDisplay(bool)</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>callTransfer</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>phoneTransfer()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>servicesVoice_mailAction</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>popupMenuVoiceMail()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>actionSendMsg</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>startMessageSession()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>buddyListView</sender> + <signal>rightButtonPressed(Q3ListViewItem*,QPoint,int)</signal> + <receiver>MphoneForm</receiver> + <slot>showBuddyListPopupMenu(Q3ListViewItem*,QPoint)</slot> + <hints> + <hint type="sourcelabel"> + <x>20</x> + <y>20</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>buddyListView</sender> + <signal>doubleClicked(Q3ListViewItem*)</signal> + <receiver>MphoneForm</receiver> + <slot>doMessageBuddy(Q3ListViewItem*)</slot> + <hints> + <hint type="sourcelabel"> + <x>20</x> + <y>20</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>viewBuddyListAction</sender> + <signal>toggled(bool)</signal> + <receiver>MphoneForm</receiver> + <slot>showBuddyList(bool)</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>helpManualAction</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>manual()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>diamondcardSign_upAction</sender> + <signal>activated()</signal> + <receiver>MphoneForm</receiver> + <slot>DiamondcardSignUp()</slot> + <hints> + <hint type="sourcelabel"> + <x>-1</x> + <y>-1</y> + </hint> + <hint type="destinationlabel"> + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + </connections> </ui> diff --git a/src/gui/redirectform.ui.h b/src/gui/redirectform.cpp index d787dbf..7f47eb5 100644 --- a/src/gui/redirectform.ui.h +++ b/src/gui/redirectform.cpp @@ -1,13 +1,7 @@ +#include "redirectform.h" //Added by qt3to4: #include <QPixmap> -/**************************************************************************** -** ui.h extension file, included from the uic-generated form implementation. -** -** If you wish to add, delete or rename functions or slots use -** Qt Designer which will update this file, preserving your code. Create an -** init() function in place of a constructor, and a destroy() function in -** place of a destructor. -*****************************************************************************/ + /* Copyright (C) 2005-2009 Michel de Boer <michel@twinklephone.com> @@ -26,6 +20,30 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "audits/memman.h" +#include "gui.h" + +RedirectForm::RedirectForm(QWidget* parent, const char* name, bool modal, Qt::WindowFlags fl) + : QDialog(parent, name, modal, fl) +{ + setupUi(this); + init(); +} + +RedirectForm::~RedirectForm() +{ + destroy(); +} + +/* + * Sets the strings of the subwidgets using the current + * language. + */ +void RedirectForm::languageChange() +{ + retranslateUi(this); +} + void RedirectForm::init() { // Keeps track of which address book tool button is clicked. @@ -36,7 +54,7 @@ void RedirectForm::init() // Set toolbutton icons for disabled options. QIcon i; i = address1ToolButton->iconSet(); - i.setPixmap(qPixmapFromMimeSource("kontact_contacts-disabled.png"), + i.setPixmap(QPixmap(":/icons/images/kontact_contacts-disabled.png"), QIcon::Automatic, QIcon::Disabled); address1ToolButton->setIconSet(i); address2ToolButton->setIconSet(i); diff --git a/src/gui/redirectform.h b/src/gui/redirectform.h new file mode 100644 index 0000000..583e4ff --- /dev/null +++ b/src/gui/redirectform.h @@ -0,0 +1,58 @@ +#ifndef REDIRECTFORM_UI_H +#define REDIRECTFORM_UI_H +#include "ui_redirectform.h" +#include <QtCore/QVariant> +#include <QtGui/QAction> +#include <QtGui/QApplication> +#include <QtGui/QButtonGroup> +#include <QtGui/QDialog> +#include <QtGui/QGridLayout> +#include <QtGui/QHBoxLayout> +#include <QtGui/QHeaderView> +#include <QtGui/QLabel> +#include <QtGui/QLineEdit> +#include <QtGui/QPushButton> +#include <QtGui/QSpacerItem> +#include <QtGui/QToolButton> +#include <QtGui/QVBoxLayout> +#include <list> +#include "getaddressform.h" +#include "sockets/url.h" +#include "user.h" + + +class RedirectForm : public QDialog, public Ui::RedirectForm +{ + Q_OBJECT + +public: + RedirectForm(QWidget* parent = 0, const char* name = 0, bool modal = false, Qt::WindowFlags fl = 0); + ~RedirectForm(); + +public slots: + virtual void show( t_user * user, const list<string> & contacts ); + virtual void validate(); + virtual void showAddressBook(); + virtual void showAddressBook1(); + virtual void showAddressBook2(); + virtual void showAddressBook3(); + virtual void selectedAddress( const QString & address ); + +signals: + void destinations(const list<t_display_url> &); + +protected slots: + virtual void languageChange(); + +private: + GetAddressForm *getAddressForm; + int nrAddressBook; + t_user *user_config; + + void init(); + void destroy(); + +}; + + +#endif diff --git a/src/gui/redirectform.ui b/src/gui/redirectform.ui index b0c5311..2f5f619 100644 --- a/src/gui/redirectform.ui +++ b/src/gui/redirectform.ui @@ -103,7 +103,7 @@ <string>F10</string> </property> <property name="icon"> - <iconset>kontact_contacts.png</iconset> + <iconset>:/icons/images/kontact_contacts.png</iconset> </property> <property name="toolTip" stdset="0"> <string>Address book</string> @@ -125,7 +125,7 @@ <string>F12</string> </property> <property name="icon"> - <iconset>kontact_contacts.png</iconset> + <iconset>:/icons/images/kontact_contacts.png</iconset> </property> <property name="toolTip" stdset="0"> <string>Address book</string> @@ -147,7 +147,7 @@ <string>F11</string> </property> <property name="icon"> - <iconset>kontact_contacts.png</iconset> + <iconset>:/icons/images/kontact_contacts.png</iconset> </property> <property name="toolTip" stdset="0"> <string>Address book</string> diff --git a/src/gui/selectnicform.ui.h b/src/gui/selectnicform.cpp index 020a0ce..735542b 100644 --- a/src/gui/selectnicform.ui.h +++ b/src/gui/selectnicform.cpp @@ -1,13 +1,5 @@ //Added by qt3to4: #include <QPixmap> -/**************************************************************************** -** ui.h extension file, included from the uic-generated form implementation. -** -** If you wish to add, delete or rename functions or slots use -** Qt Designer which will update this file, preserving your code. Create an -** init() function in place of a constructor, and a destroy() function in -** place of a destructor. -*****************************************************************************/ /* Copyright (C) 2005-2009 Michel de Boer <michel@twinklephone.com> @@ -26,6 +18,43 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "gui.h" +#include <QMessageBox> +#include "sys_settings.h" +#include "selectnicform.h" +/* + * Constructs a SelectNicForm as a child of 'parent', with the + * name 'name' and widget flags set to 'f'. + * + * The dialog will by default be modeless, unless you set 'modal' to + * true to construct a modal dialog. + */ +SelectNicForm::SelectNicForm(QWidget* parent, const char* name, bool modal, Qt::WindowFlags fl) + : QDialog(parent, name, modal, fl) +{ + setupUi(this); + + init(); +} + +/* + * Destroys the object and frees any allocated resources + */ +SelectNicForm::~SelectNicForm() +{ + // no need to delete child widgets, Qt does it all for us +} + +/* + * Sets the strings of the subwidgets using the current + * language. + */ +void SelectNicForm::languageChange() +{ + retranslateUi(this); +} + + void SelectNicForm::init() { idxDefault = -1; @@ -51,7 +80,7 @@ void SelectNicForm::setAsDefault(bool setIp) // Restore pixmap of the old default if (idxDefault != -1) { nicListBox->changeItem( - qPixmapFromMimeSource("kcmpci16.png"), + QPixmap(":/icons/images/kcmpci16.png"), nicListBox->text(idxDefault), idxDefault); } @@ -59,7 +88,7 @@ void SelectNicForm::setAsDefault(bool setIp) // Set pixmap of the default idxDefault = idxNewDefault; nicListBox->changeItem( - qPixmapFromMimeSource("twinkle16.png"), + QPixmap(":/icons/images/twinkle16.png"), nicListBox->text(idxDefault), idxDefault); diff --git a/src/gui/selectnicform.h b/src/gui/selectnicform.h new file mode 100644 index 0000000..f926ed3 --- /dev/null +++ b/src/gui/selectnicform.h @@ -0,0 +1,30 @@ +#ifndef SELECTNICFORM_H +#define SELECTNICFORM_H +#include <QDialog> +#include "ui_selectnicform.h" + +class SelectNicForm : public QDialog, public Ui::SelectNicForm +{ + Q_OBJECT + +public: + SelectNicForm(QWidget* parent = 0, const char* name = 0, bool modal = false, Qt::WindowFlags fl = 0); + ~SelectNicForm(); + +public slots: + virtual void setAsDefault( bool setIp ); + virtual void setAsDefaultIp(); + virtual void setAsDefaultNic(); + +protected slots: + virtual void languageChange(); + +private: + int idxDefault; + + void init(); + +}; + + +#endif diff --git a/src/gui/selectnicform.ui b/src/gui/selectnicform.ui index c6aee9b..d915d44 100644 --- a/src/gui/selectnicform.ui +++ b/src/gui/selectnicform.ui @@ -23,7 +23,7 @@ <string/> </property> <property name="pixmap"> - <pixmap>kcmpci.png</pixmap> + <pixmap>:/icons/images/kcmpci.png</pixmap> </property> <property name="wordWrap"> <bool>false</bool> diff --git a/src/gui/selectprofileform.ui.h b/src/gui/selectprofileform.cpp index dcdc338..d72ece2 100644 --- a/src/gui/selectprofileform.ui.h +++ b/src/gui/selectprofileform.cpp @@ -1,13 +1,5 @@ //Added by qt3to4: #include <QPixmap> -/**************************************************************************** -** ui.h extension file, included from the uic-generated form implementation. -** -** If you wish to add, delete or rename functions or slots use -** Qt Designer which will update this file, preserving your code. Create an -** init() function in place of a constructor, and a destroy() function in -** place of a destructor. -*****************************************************************************/ /* Copyright (C) 2005-2009 Michel de Boer <michel@twinklephone.com> @@ -26,6 +18,56 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include <QDir> +#include "user.h" +#include <QStringList> +#include <QMessageBox> +#include "protocol.h" +#include "gui.h" +#include "userprofileform.h" +#include "getprofilenameform.h" +#include "audits/memman.h" +#include "wizardform.h" +#include "syssettingsform.h" +#include <Q3ListView> +#include "service.h" +#include "presence/buddy.h" +#include "diamondcardprofileform.h" +#include "selectprofileform.h" +/* + * Constructs a SelectProfileForm as a child of 'parent', with the + * name 'name' and widget flags set to 'f'. + * + * The dialog will by default be modeless, unless you set 'modal' to + * true to construct a modal dialog. + */ +SelectProfileForm::SelectProfileForm(QWidget* parent, const char* name, bool modal, Qt::WindowFlags fl) + : QDialog(parent, name, modal, fl) +{ + setupUi(this); + + init(); +} + +/* + * Destroys the object and frees any allocated resources + */ +SelectProfileForm::~SelectProfileForm() +{ + destroy(); + // no need to delete child widgets, Qt does it all for us +} + +/* + * Sets the strings of the subwidgets using the current + * language. + */ +void SelectProfileForm::languageChange() +{ + retranslateUi(this); +} + + void SelectProfileForm::init() { user_config = 0; @@ -152,7 +194,7 @@ void SelectProfileForm::showForm(Q3MainWindow *_mainWindow) list<string> l = sys_config->get_start_user_profiles(); if (std::find(l.begin(), l.end(), profile.ascii()) != l.end()) { - item->setPixmap(0, qPixmapFromMimeSource("twinkle16.png")); + item->setPixmap(0, QPixmap(":/icons/images/twinkle16.png")); defaultSet = true; } @@ -296,7 +338,7 @@ void SelectProfileForm::newProfileCreated() Q3CheckListItem *item = new Q3CheckListItem(profileListView, user_config->get_profile_name().c_str(), Q3CheckListItem::CheckBox); - item->setPixmap(0, qPixmapFromMimeSource("penguin-small.png")); + item->setPixmap(0, QPixmap(":/icons/images/penguin-small.png")); // Make the new profile the selected profile // Do not change this without changing the exec method. @@ -493,7 +535,7 @@ void SelectProfileForm::setAsDefault() // Restore all pixmaps Q3ListViewItemIterator i(profileListView); while (i.current()) { - i.current()->setPixmap(0, qPixmapFromMimeSource("penguin-small.png")); + i.current()->setPixmap(0, QPixmap(":/icons/images/penguin-small.png")); i++; } @@ -503,7 +545,7 @@ void SelectProfileForm::setAsDefault() Q3ListViewItemIterator j(profileListView, Q3ListViewItemIterator::Checked); while (j.current()) { Q3CheckListItem *item = (Q3CheckListItem *)j.current(); - item->setPixmap(0, qPixmapFromMimeSource("twinkle16.png")); + item->setPixmap(0, QPixmap(":/icons/images/twinkle16.png")); l.push_back(item->text().ascii()); j++; } @@ -618,7 +660,7 @@ void SelectProfileForm::fillProfileListView(const QStringList &profiles) profile.truncate(profile.length() - strlen(USER_FILE_EXT)); Q3CheckListItem *item = new Q3CheckListItem( profileListView, profile, Q3CheckListItem::CheckBox); - item->setPixmap(0, qPixmapFromMimeSource("penguin-small.png")); + item->setPixmap(0, QPixmap(":/icons/images/penguin-small.png")); } // Highlight the first profile diff --git a/src/gui/selectprofileform.h b/src/gui/selectprofileform.h new file mode 100644 index 0000000..81c2be5 --- /dev/null +++ b/src/gui/selectprofileform.h @@ -0,0 +1,61 @@ +#ifndef SELECTPROFILEFORM_H +#define SELECTPROFILEFORM_H +class t_phone; +extern t_phone *phone; + +#include <list> +#include <string> +#include "phone.h" +#include <Qt3Support/Q3MainWindow> +#include "ui_selectprofileform.h" + +class SelectProfileForm : public QDialog, public Ui::SelectProfileForm +{ + Q_OBJECT + +public: + SelectProfileForm(QWidget* parent = 0, const char* name = 0, bool modal = false, Qt::WindowFlags fl = 0); + ~SelectProfileForm(); + + std::list<std::string> selectedProfiles; + + virtual int execForm(); + static bool getUserProfiles( QStringList & profiles, QString & error ); + +public slots: + virtual void showForm( Q3MainWindow * _mainWindow ); + virtual void runProfile(); + virtual void editProfile(); + virtual void newProfile(); + virtual void newProfile( bool exec_mode ); + virtual void newProfileCreated(); + virtual void deleteProfile(); + virtual void renameProfile(); + virtual void setAsDefault(); + virtual void wizardProfile(); + virtual void wizardProfile( bool exec_mode ); + virtual void diamondcardProfile(); + virtual void diamondcardProfile( bool exec_mode ); + virtual void sysSettings(); + virtual void fillProfileListView( const QStringList & profiles ); + virtual void toggleItem( Q3ListViewItem * item ); + +signals: + void selection(const list<string> &); + void profileRenamed(); + +protected slots: + virtual void languageChange(); + +private: + bool defaultSet; + t_user *user_config; + Q3MainWindow *mainWindow; + + void init(); + void destroy(); + +}; + + +#endif diff --git a/src/gui/selectuserform.ui.h b/src/gui/selectuserform.cpp index 61b1fa6..0a0af5a 100644 --- a/src/gui/selectuserform.ui.h +++ b/src/gui/selectuserform.cpp @@ -1,15 +1,3 @@ -/**************************************************************************** -** ui.h extension file, included from the uic-generated form implementation. -** -** If you want to add, delete, or rename functions or slots, use -** Qt Designer to update this file, preserving your code. -** -** You should not define a constructor or destructor in this file. -** Instead, write your code in functions called init() and destroy(). -** These will automatically be called by the form's constructor and -** destructor. -*****************************************************************************/ - /* Copyright (C) 2005-2009 Michel de Boer <michel@twinklephone.com> @@ -28,6 +16,46 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include <QVariant> +#include <cassert> +#include <QImage> +#include <QPixmap> + +#include <Q3ListView> +#include "selectuserform.h" +/* + * Constructs a SelectUserForm as a child of 'parent', with the + * name 'name' and widget flags set to 'f'. + * + * The dialog will by default be modeless, unless you set 'modal' to + * true to construct a modal dialog. + */ +SelectUserForm::SelectUserForm(QWidget* parent, const char* name, bool modal, Qt::WindowFlags fl) + : QDialog(parent, name, modal, fl) +{ + setupUi(this); + + init(); +} + +/* + * Destroys the object and frees any allocated resources + */ +SelectUserForm::~SelectUserForm() +{ + // no need to delete child widgets, Qt does it all for us +} + +/* + * Sets the strings of the subwidgets using the current + * language. + */ +void SelectUserForm::languageChange() +{ + retranslateUi(this); +} + + void SelectUserForm::init() { // Disable sorting diff --git a/src/gui/selectuserform.h b/src/gui/selectuserform.h new file mode 100644 index 0000000..898dbbf --- /dev/null +++ b/src/gui/selectuserform.h @@ -0,0 +1,39 @@ +#ifndef SELECTUSERFORM_H +#define SELECTUSERFORM_H +class t_phone; +extern t_phone *phone; + +#include "gui.h" +#include "phone.h" +#include "user.h" +#include "ui_selectuserform.h" + +class SelectUserForm : public QDialog, public Ui::SelectUserForm +{ + Q_OBJECT + +public: + SelectUserForm(QWidget* parent = 0, const char* name = 0, bool modal = false, Qt::WindowFlags fl = 0); + ~SelectUserForm(); + +public slots: + virtual void show( t_select_purpose purpose ); + virtual void validate(); + virtual void selectAll(); + virtual void clearAll(); + virtual void toggle( Q3ListViewItem * item ); + +signals: + void selection(list<t_user *>); + void not_selected(list<t_user*>); + +protected slots: + virtual void languageChange(); + +private: + void init(); + +}; + + +#endif diff --git a/src/gui/sendfileform.ui.h b/src/gui/sendfileform.cpp index aff6273..e212579 100644 --- a/src/gui/sendfileform.ui.h +++ b/src/gui/sendfileform.cpp @@ -1,15 +1,3 @@ -/**************************************************************************** -** ui.h extension file, included from the uic-generated form implementation. -** -** If you want to add, delete, or rename functions or slots, use -** Qt Designer to update this file, preserving your code. -** -** You should not define a constructor or destructor in this file. -** Instead, write your code in functions called init() and destroy(). -** These will automatically be called by the form's constructor and -** destructor. -*****************************************************************************/ - /* Copyright (C) 2005-2009 Michel de Boer <michel@twinklephone.com> @@ -32,6 +20,45 @@ #include <kfiledialog.h> #endif +#include "audits/memman.h" +#include "gui.h" +#include <QFile> +#include <Q3FileDialog> +#include "sendfileform.h" +/* + * Constructs a SendFileForm as a child of 'parent', with the + * name 'name' and widget flags set to 'f'. + * + * The dialog will by default be modeless, unless you set 'modal' to + * true to construct a modal dialog. + */ +SendFileForm::SendFileForm(QWidget* parent, const char* name, bool modal, Qt::WindowFlags fl) + : QDialog(parent, name, modal, fl) +{ + setupUi(this); + + init(); +} + +/* + * Destroys the object and frees any allocated resources + */ +SendFileForm::~SendFileForm() +{ + destroy(); + // no need to delete child widgets, Qt does it all for us +} + +/* + * Sets the strings of the subwidgets using the current + * language. + */ +void SendFileForm::languageChange() +{ + retranslateUi(this); +} + + void SendFileForm::init() { setWindowFlags(windowFlags() | Qt::WDestructiveClose); diff --git a/src/gui/sendfileform.h b/src/gui/sendfileform.h new file mode 100644 index 0000000..6601ad2 --- /dev/null +++ b/src/gui/sendfileform.h @@ -0,0 +1,33 @@ +#ifndef SENDFILEFORM_H +#define SENDFILEFORM_H +#include "ui_sendfileform.h" + +class SendFileForm : public QDialog, public Ui::SendFileForm +{ + Q_OBJECT + +public: + SendFileForm(QWidget* parent = 0, const char* name = 0, bool modal = false, Qt::WindowFlags fl = 0); + ~SendFileForm(); + +public slots: + virtual void signalSelectedInfo(); + virtual void chooseFile(); + virtual void setFilename(); + +signals: + void selected(const QString &filename, const QString &subject); + +protected slots: + virtual void languageChange(); + +private: + QDialog *_chooseFileDialog; + + void init(); + void destroy(); + +}; + + +#endif diff --git a/src/gui/sendfileform.ui b/src/gui/sendfileform.ui index 6224c89..8ba2cce 100644 --- a/src/gui/sendfileform.ui +++ b/src/gui/sendfileform.ui @@ -28,7 +28,7 @@ <string/> </property> <property name="icon"> - <iconset>fileopen.png</iconset> + <iconset>:/icons/images/fileopen.png</iconset> </property> <property name="whatsThis" stdset="0"> <string>Select file to send.</string> diff --git a/src/gui/srvredirectform.ui.h b/src/gui/srvredirectform.cpp index 47bc0eb..4d95643 100644 --- a/src/gui/srvredirectform.ui.h +++ b/src/gui/srvredirectform.cpp @@ -1,13 +1,6 @@ //Added by qt3to4: #include <QPixmap> -/**************************************************************************** -** ui.h extension file, included from the uic-generated form implementation. -** -** If you wish to add, delete or rename functions or slots use -** Qt Designer which will update this file, preserving your code. Create an -** init() function in place of a constructor, and a destroy() function in -** place of a destructor. -*****************************************************************************/ + /* Copyright (C) 2005-2009 Michel de Boer <michel@twinklephone.com> @@ -26,6 +19,45 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "phone.h" +#include <Q3GroupBox> +#include <QCheckBox> +#include "gui.h" +#include "audits/memman.h" +#include "srvredirectform.h" + +/* + * Constructs a SrvRedirectForm as a child of 'parent', with the + * name 'name' and widget flags set to 'f'. + * + * The dialog will by default be modeless, unless you set 'modal' to + * true to construct a modal dialog. + */ +SrvRedirectForm::SrvRedirectForm(QWidget* parent, const char* name, bool modal, Qt::WindowFlags fl) + : QDialog(parent, name, modal, fl) +{ + setupUi(this); + + init(); +} + +/* + * Destroys the object and frees any allocated resources + */ +SrvRedirectForm::~SrvRedirectForm() +{ + destroy(); + // no need to delete child widgets, Qt does it all for us +} + +/* + * Sets the strings of the subwidgets using the current + * language. + */ +void SrvRedirectForm::languageChange() +{ + retranslateUi(this); +} void SrvRedirectForm::init() { @@ -41,7 +73,7 @@ void SrvRedirectForm::init() // Set toolbutton icons for disabled options. QIcon i; i = addrAlways1ToolButton->iconSet(); - i.setPixmap(qPixmapFromMimeSource("kontact_contacts-disabled.png"), + i.setPixmap(QPixmap(":/icons/images/kontact_contacts-disabled.png"), QIcon::Automatic, QIcon::Disabled); addrAlways1ToolButton->setIconSet(i); addrAlways2ToolButton->setIconSet(i); diff --git a/src/gui/srvredirectform.h b/src/gui/srvredirectform.h new file mode 100644 index 0000000..7ddaef6 --- /dev/null +++ b/src/gui/srvredirectform.h @@ -0,0 +1,63 @@ +#ifndef SRVREDIRECTFORM_H +#define SRVREDIRECTFORM_H +#include <list> +#include "getaddressform.h" +#include "phone.h" +#include <QtGui/QLineEdit> +#include "sockets/url.h" +#include "user.h" +#include "ui_srvredirectform.h" + +class t_phone; +extern t_phone *phone; + +class SrvRedirectForm : public QDialog, public Ui::SrvRedirectForm +{ + Q_OBJECT + +public: + SrvRedirectForm(QWidget* parent = 0, const char* name = 0, bool modal = false, Qt::WindowFlags fl = 0); + ~SrvRedirectForm(); + + virtual bool validateValues(); + virtual bool validate( bool cf_active, QLineEdit * dst1, QLineEdit * dst2, QLineEdit * dst3, list<t_display_url> & dest_list ); + +public slots: + virtual void show(); + virtual void populate(); + virtual void validate(); + virtual void toggleAlways( bool on ); + virtual void toggleBusy( bool on ); + virtual void toggleNoanswer( bool on ); + virtual void changedUser( const QString & user_display_uri ); + virtual void showAddressBook(); + virtual void showAddressBook1(); + virtual void showAddressBook2(); + virtual void showAddressBook3(); + virtual void showAddressBook4(); + virtual void showAddressBook5(); + virtual void showAddressBook6(); + virtual void showAddressBook7(); + virtual void showAddressBook8(); + virtual void showAddressBook9(); + virtual void selectedAddress( const QString & address ); + +signals: + void destinations(t_user *, const list<t_display_url> &always, const list<t_display_url> &busy, const list<t_display_url> &noanswer); + +protected slots: + virtual void languageChange(); + +private: + int nrAddressBook; + GetAddressForm *getAddressForm; + t_user *current_user; + int current_user_idx; + + void init(); + void destroy(); + +}; + + +#endif diff --git a/src/gui/srvredirectform.ui b/src/gui/srvredirectform.ui index 1af6ccd..07efe07 100644 --- a/src/gui/srvredirectform.ui +++ b/src/gui/srvredirectform.ui @@ -173,7 +173,7 @@ <string>F10</string> </property> <property name="icon"> - <iconset>kontact_contacts.png</iconset> + <iconset>:/icons/images/kontact_contacts.png</iconset> </property> <property name="toolTip" stdset="0"> <string>Address book</string> @@ -192,7 +192,7 @@ <string>F11</string> </property> <property name="icon"> - <iconset>kontact_contacts.png</iconset> + <iconset>:/icons/images/kontact_contacts.png</iconset> </property> <property name="toolTip" stdset="0"> <string>Address book</string> @@ -214,7 +214,7 @@ <string>F12</string> </property> <property name="icon"> - <iconset>kontact_contacts.png</iconset> + <iconset>:/icons/images/kontact_contacts.png</iconset> </property> <property name="toolTip" stdset="0"> <string>Address book</string> @@ -331,7 +331,7 @@ <string/> </property> <property name="icon"> - <iconset>kontact_contacts.png</iconset> + <iconset>:/icons/images/kontact_contacts.png</iconset> </property> <property name="toolTip" stdset="0"> <string>Address book</string> @@ -347,7 +347,7 @@ <string/> </property> <property name="icon"> - <iconset>kontact_contacts.png</iconset> + <iconset>:/icons/images/kontact_contacts.png</iconset> </property> <property name="toolTip" stdset="0"> <string>Address book</string> @@ -363,7 +363,7 @@ <string/> </property> <property name="icon"> - <iconset>kontact_contacts.png</iconset> + <iconset>:/icons/images/kontact_contacts.png</iconset> </property> <property name="toolTip" stdset="0"> <string>Address book</string> @@ -480,7 +480,7 @@ <string/> </property> <property name="icon"> - <iconset>kontact_contacts.png</iconset> + <iconset>:/icons/images/kontact_contacts.png</iconset> </property> <property name="toolTip" stdset="0"> <string>Address book</string> @@ -496,7 +496,7 @@ <string/> </property> <property name="icon"> - <iconset>kontact_contacts.png</iconset> + <iconset>:/icons/images/kontact_contacts.png</iconset> </property> <property name="toolTip" stdset="0"> <string>Address book</string> @@ -512,7 +512,7 @@ <string/> </property> <property name="icon"> - <iconset>kontact_contacts.png</iconset> + <iconset>:/icons/images/kontact_contacts.png</iconset> </property> <property name="toolTip" stdset="0"> <string>Address book</string> diff --git a/src/gui/syssettingsform.ui.h b/src/gui/syssettingsform.cpp index e454dce..a6b940c 100644 --- a/src/gui/syssettingsform.ui.h +++ b/src/gui/syssettingsform.cpp @@ -1,16 +1,53 @@ //Added by qt3to4: #include <QPixmap> -/**************************************************************************** -** ui.h extension file, included from the uic-generated form implementation. -** -** If you want to add, delete, or rename functions or slots, use -** Qt Designer to update this file, preserving your code. -** -** You should not define a constructor or destructor in this file. -** Instead, write your code in functions called init() and destroy(). -** These will automatically be called by the form's constructor and -** destructor. -*****************************************************************************/ +#include <Q3ListBox> +#include <QComboBox> +#include "gui.h" +#include "sockets/interfaces.h" +#include "selectprofileform.h" +#include <QStringList> +#include "audits/memman.h" +#include <Q3ListView> +#include <QSpinBox> +#include <Q3FileDialog> +#include <QFileInfo> +#include "twinkle_config.h" +#include <QRegExp> +#include <QValidator> +#include "syssettingsform.h" +/* + * Constructs a SysSettingsForm as a child of 'parent', with the + * name 'name' and widget flags set to 'f'. + * + * The dialog will by default be modeless, unless you set 'modal' to + * true to construct a modal dialog. + */ +SysSettingsForm::SysSettingsForm(QWidget* parent, const char* name, bool modal, Qt::WindowFlags fl) + : QDialog(parent, name, modal, fl) +{ + setupUi(this); + + init(); +} + +/* + * Destroys the object and frees any allocated resources + */ +SysSettingsForm::~SysSettingsForm() +{ + // no need to delete child widgets, Qt does it all for us +} + +/* + * Sets the strings of the subwidgets using the current + * language. + */ +void SysSettingsForm::languageChange() +{ + retranslateUi(this); +} + + /* Copyright (C) 2005-2009 Michel de Boer <michel@twinklephone.com> @@ -42,11 +79,11 @@ void SysSettingsForm::init() // Set toolbutton icons for disabled options. QIcon i; i = openRingtoneToolButton->iconSet(); - i.setPixmap(qPixmapFromMimeSource("fileopen-disabled.png"), + i.setPixmap(QPixmap(":/icons/images/fileopen-disabled.png"), QIcon::Automatic, QIcon::Disabled); openRingtoneToolButton->setIconSet(i); i = openRingbackToolButton->iconSet(); - i.setPixmap(qPixmapFromMimeSource("fileopen-disabled.png"), + i.setPixmap(QPixmap(":/icons/images/fileopen-disabled.png"), QIcon::Automatic, QIcon::Disabled); openRingbackToolButton->setIconSet(i); @@ -257,7 +294,7 @@ void SysSettingsForm::populate() profile.truncate(profile.length() - 4); Q3CheckListItem *item = new Q3CheckListItem(profileListView, profile, Q3CheckListItem::CheckBox); - item->setPixmap(0, qPixmapFromMimeSource("penguin-small.png")); + item->setPixmap(0, QPixmap(":/icons/images/penguin-small.png")); list<string> l = sys_config->get_start_user_profiles(); if (std::find(l.begin(), l.end(), profile.ascii()) != l.end()) diff --git a/src/gui/syssettingsform.h b/src/gui/syssettingsform.h new file mode 100644 index 0000000..5412219 --- /dev/null +++ b/src/gui/syssettingsform.h @@ -0,0 +1,53 @@ +#ifndef SYSSETTINGSFORM_H +#define SYSSETTINGSFORM_H + +#include "sys_settings.h" +#include <QDialog> +#include "ui_syssettingsform.h" + +class SysSettingsForm : public QDialog, public Ui::SysSettingsForm +{ + Q_OBJECT + +public: + SysSettingsForm(QWidget* parent = 0, const char* name = 0, bool modal = false, Qt::WindowFlags fl = 0); + ~SysSettingsForm(); + + virtual string comboItem2audio_dev( QString item, QLineEdit * qleOther, bool playback ); + +public slots: + virtual void showCategory( int index ); + virtual void populateComboBox( QComboBox * cb, const QString & s ); + virtual void populate(); + virtual void validate(); + virtual void show(); + virtual int exec(); + virtual void chooseRingtone(); + virtual void chooseRingback(); + virtual void devRingtoneSelected( int idx ); + virtual void devSpeakerSelected( int idx ); + virtual void devMicSelected( int idx ); + virtual void playRingToneCheckBoxToggles( bool on ); + virtual void playRingBackToneCheckBoxToggles( bool on ); + +signals: + void sipUdpPortChanged(); + void rtpPortChanged(); + +protected slots: + virtual void languageChange(); + +private: + int idxOtherCaptureDevOss; + int idxOtherCaptureDevAlsa; + int idxOtherPlaybackDevOss; + int idxOtherPlaybackDevAlsa; + list<t_audio_device> list_audio_playback_dev; + list<t_audio_device> list_audio_capture_dev; + + void init(); + +}; + + +#endif diff --git a/src/gui/syssettingsform.ui b/src/gui/syssettingsform.ui index bfe8807..2af1e4d 100644 --- a/src/gui/syssettingsform.ui +++ b/src/gui/syssettingsform.ui @@ -35,7 +35,7 @@ <string>General</string> </property> <property name="pixmap"> - <pixmap>twinkle32.png</pixmap> + <pixmap>:/icons/images/twinkle32.png</pixmap> </property> </item> <item> @@ -43,7 +43,7 @@ <string>Audio</string> </property> <property name="pixmap"> - <pixmap>kmix.png</pixmap> + <pixmap>:/icons/images/kmix.png</pixmap> </property> </item> <item> @@ -51,7 +51,7 @@ <string>Ring tones</string> </property> <property name="pixmap"> - <pixmap>knotify.png</pixmap> + <pixmap>:/icons/images/knotify.png</pixmap> </property> </item> <item> @@ -59,7 +59,7 @@ <string>Address book</string> </property> <property name="pixmap"> - <pixmap>kontact_contacts32.png</pixmap> + <pixmap>:/icons/images/kontact_contacts32.png</pixmap> </property> </item> <item> @@ -67,7 +67,7 @@ <string>Network</string> </property> <property name="pixmap"> - <pixmap>network.png</pixmap> + <pixmap>:/icons/images/network.png</pixmap> </property> </item> <item> @@ -75,7 +75,7 @@ <string>Log</string> </property> <property name="pixmap"> - <pixmap>log.png</pixmap> + <pixmap>:/icons/images/log.png</pixmap> </property> </item> </widget> @@ -1221,7 +1221,7 @@ If before answering a call, the microphone or speaker appears to be invalid, a w <string/> </property> <property name="icon"> - <iconset>fileopen.png</iconset> + <iconset>:/icons/images/fileopen.png</iconset> </property> <property name="whatsThis" stdset="0"> <string>Select ring tone file.</string> @@ -1320,7 +1320,7 @@ Depending on your SIP provider the network might provide ring back tone or an an <string/> </property> <property name="icon"> - <iconset>fileopen.png</iconset> + <iconset>:/icons/images/fileopen.png</iconset> </property> <property name="whatsThis" stdset="0"> <string>Select ring back tone file.</string> diff --git a/src/gui/termcapform.ui.h b/src/gui/termcapform.cpp index e04af11..f1413c5 100644 --- a/src/gui/termcapform.ui.h +++ b/src/gui/termcapform.cpp @@ -1,11 +1,5 @@ -/**************************************************************************** -** ui.h extension file, included from the uic-generated form implementation. -** -** If you wish to add, delete or rename functions or slots use -** Qt Designer which will update this file, preserving your code. Create an -** init() function in place of a constructor, and a destroy() function in -** place of a destructor. -*****************************************************************************/ +#include "termcapform.h" + /* Copyright (C) 2005-2009 Michel de Boer <michel@twinklephone.com> @@ -24,13 +18,53 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include <qvariant.h> +#include <qimage.h> +#include <qpixmap.h> + +#include "gui.h" +#include "audits/memman.h" +#include "termcapform.h" +/* + * Constructs a TermCapForm as a child of 'parent', with the + * name 'name' and widget flags set to 'f'. + * + * The dialog will by default be modeless, unless you set 'modal' to + * true to construct a modal dialog. + */ +TermCapForm::TermCapForm(QWidget* parent, const char* name, bool modal, Qt::WindowFlags fl) + : QDialog(parent, name, modal, fl) +{ + setupUi(this); + + init(); +} + +/* + * Destroys the object and frees any allocated resources + */ +TermCapForm::~TermCapForm() +{ + destroy(); + // no need to delete child widgets, Qt does it all for us +} + +/* + * Sets the strings of the subwidgets using the current + * language. + */ +void TermCapForm::languageChange() +{ + retranslateUi(this); +} + void TermCapForm::init() { getAddressForm = 0; // Set toolbutton icons for disabled options. - setDisabledIcon(addressToolButton, "kontact_contacts-disabled.png"); + setDisabledIcon(addressToolButton, ":/icons/images/kontact_contacts-disabled.png"); } void TermCapForm::show(t_user *user_config, const QString &dest) diff --git a/src/gui/termcapform.h b/src/gui/termcapform.h new file mode 100644 index 0000000..3cc53df --- /dev/null +++ b/src/gui/termcapform.h @@ -0,0 +1,40 @@ +#ifndef TERMCAPFORM_H +#define TERMCAPFORM_H +#include "ui_termcapform.h" +#include "getaddressform.h" +#include "phone.h" +#include "sockets/url.h" +#include "user.h" + +class t_phone; +extern t_phone *phone; + +class TermCapForm : public QDialog, public Ui::TermCapForm +{ + Q_OBJECT + +public: + TermCapForm(QWidget* parent = 0, const char* name = 0, bool modal = false, Qt::WindowFlags fl = 0); + ~TermCapForm(); + +public slots: + virtual void show( t_user * user_config, const QString & dest ); + virtual void validate(); + virtual void showAddressBook(); + virtual void selectedAddress( const QString & address ); + +signals: + void destination(t_user *, const t_url &); + +protected slots: + virtual void languageChange(); + +private: + GetAddressForm *getAddressForm; + + void init(); + void destroy(); + +}; + +#endif diff --git a/src/gui/termcapform.ui b/src/gui/termcapform.ui index e0740f7..adaf134 100644 --- a/src/gui/termcapform.ui +++ b/src/gui/termcapform.ui @@ -92,7 +92,7 @@ <string>F10</string> </property> <property name="icon"> - <iconset>kontact_contacts.png</iconset> + <iconset>:/icons/images/kontact_contacts.png</iconset> </property> <property name="toolTip" stdset="0"> <string>Address book</string> diff --git a/src/gui/transferform.ui.h b/src/gui/transferform.cpp index be4f465..6394c37 100644 --- a/src/gui/transferform.ui.h +++ b/src/gui/transferform.cpp @@ -1,14 +1,45 @@ //Added by qt3to4: #include <QPixmap> #include <QCloseEvent> -/**************************************************************************** -** ui.h extension file, included from the uic-generated form implementation. -** -** If you wish to add, delete or rename functions or slots use -** Qt Designer which will update this file, preserving your code. Create an -** init() function in place of a constructor, and a destroy() function in -** place of a destructor. -*****************************************************************************/ +#include <QVariant> +#include <QImage> +#include <QPixmap> +#include "gui.h" +#include "audits/memman.h" +#include "transferform.h" +/* + * Constructs a TransferForm as a child of 'parent', with the + * name 'name' and widget flags set to 'f'. + * + * The dialog will by default be modeless, unless you set 'modal' to + * true to construct a modal dialog. + */ +TransferForm::TransferForm(QWidget* parent, const char* name, bool modal, Qt::WindowFlags fl) + : QDialog(parent, name, modal, fl) +{ + setupUi(this); + + init(); +} + +/* + * Destroys the object and frees any allocated resources + */ +TransferForm::~TransferForm() +{ + destroy(); + // no need to delete child widgets, Qt does it all for us +} + +/* + * Sets the strings of the subwidgets using the current + * language. + */ +void TransferForm::languageChange() +{ + retranslateUi(this); +} + /* Copyright (C) 2005-2009 Michel de Boer <michel@twinklephone.com> @@ -35,7 +66,7 @@ void TransferForm::init() // Set toolbutton icons for disabled options. QIcon i; i = addressToolButton->iconSet(); - i.setPixmap(qPixmapFromMimeSource("kontact_contacts-disabled.png"), + i.setPixmap(QPixmap(":/icons/images/kontact_contacts-disabled.png"), QIcon::Automatic, QIcon::Disabled); addressToolButton->setIconSet(i); } diff --git a/src/gui/transferform.h b/src/gui/transferform.h new file mode 100644 index 0000000..65477d8 --- /dev/null +++ b/src/gui/transferform.h @@ -0,0 +1,52 @@ +#ifndef TRANSFERFORM_H +#define TRANSFERFORM_H +class t_phone; +extern t_phone *phone; + +#include "getaddressform.h" +#include "phone.h" +#include "protocol.h" +#include <QtCore/QStringRef> +#include "sockets/url.h" +#include "user.h" +#include "ui_transferform.h" + +class TransferForm : public QDialog, public Ui::TransferForm +{ + Q_OBJECT + +public: + TransferForm(QWidget* parent = 0, const char* name = 0, bool modal = false, Qt::WindowFlags fl = 0); + ~TransferForm(); + +public slots: + virtual void initTransferOptions(); + virtual void show( t_user * user ); + virtual void show( t_user * user, const string & dest, t_transfer_type transfer_type ); + virtual void hide(); + virtual void reject(); + virtual void validate(); + virtual void closeEvent( QCloseEvent * ); + virtual void showAddressBook(); + virtual void selectedAddress( const QString & address ); + virtual void setOtherLineAddress( bool on ); + +signals: + void destination(const t_display_url&, t_transfer_type); + +protected slots: + virtual void languageChange(); + +private: + int consult_line; + t_user *user_config; + GetAddressForm *getAddressForm; + QString previousAddress; + + void init(); + void destroy(); + +}; + + +#endif diff --git a/src/gui/transferform.ui b/src/gui/transferform.ui index b712cc3..04b02ba 100644 --- a/src/gui/transferform.ui +++ b/src/gui/transferform.ui @@ -55,7 +55,7 @@ <string>F10</string> </property> <property name="icon"> - <iconset>kontact_contacts.png</iconset> + <iconset>:/icons/images/kontact_contacts.png</iconset> </property> <property name="toolTip" stdset="0"> <string>Address book</string> diff --git a/src/gui/twinklesystray.cpp b/src/gui/twinklesystray.cpp deleted file mode 100644 index d2873da..0000000 --- a/src/gui/twinklesystray.cpp +++ /dev/null @@ -1,38 +0,0 @@ -/* - Copyright (C) 2005-2009 Michel de Boer <michel@twinklephone.com> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#include "twinklesystray.h" -#include "audits/memman.h" - -t_twinkle_sys_tray::t_twinkle_sys_tray(QWidget *pParent, const char *pszName) : -#ifdef HAVE_KDE - KSystemTray(pParent, pszName) -#else - FreeDeskSysTray(pParent, pszName) -#endif -{} - -t_twinkle_sys_tray::~t_twinkle_sys_tray() -{} - -void t_twinkle_sys_tray::dock() -{ -#ifndef HAVE_KDE - FreeDeskSysTray::dock(); -#endif -} diff --git a/src/gui/twinklesystray.h b/src/gui/twinklesystray.h deleted file mode 100644 index de69c20..0000000 --- a/src/gui/twinklesystray.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - Copyright (C) 2005-2009 Michel de Boer <michel@twinklephone.com> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#ifndef _TWINKLESYSTRAY_H -#define _TWINKLESYSTRAY_H - -#include "twinkle_config.h" - -#ifdef HAVE_KDE -#include <ksystemtray.h> -#include <kpopupmenu.h> -#else -#include "freedesksystray.h" -#endif - -#include "q3popupmenu.h" -#include "qwidget.h" - -#ifdef HAVE_KDE -class t_twinkle_sys_tray : public KSystemTray { -#else -class t_twinkle_sys_tray : public FreeDeskSysTray { -#endif - -public: - t_twinkle_sys_tray(QWidget *pParent = 0, const char *pszName = 0); - ~t_twinkle_sys_tray(); - - void dock(); -}; - -#endif diff --git a/src/gui/userprofileform.ui.h b/src/gui/userprofileform.cpp index 007ea01..062053f 100644 --- a/src/gui/userprofileform.ui.h +++ b/src/gui/userprofileform.cpp @@ -1,14 +1,7 @@ //Added by qt3to4: #include <QPixmap> #include <Q3ValueList> -/**************************************************************************** -** ui.h extension file, included from the uic-generated form implementation. -** -** If you wish to add, delete or rename functions or slots use -** Qt Designer which will update this file, preserving your code. Create an -** init() function in place of a constructor, and a destroy() function in -** place of a destructor. -*****************************************************************************/ + /* Copyright (C) 2005-2009 Michel de Boer <michel@twinklephone.com> @@ -27,6 +20,26 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include <Q3ListBox> +#include <QLineEdit> +#include <QLabel> +#include <QComboBox> +#include <QSpinBox> +#include <QRegExp> +#include "sdp/sdp.h" +#include <QValidator> +#include "protocol.h" +#include <QMessageBox> +#include "gui.h" +#include <Q3FileDialog> +#include <QFileInfo> +#include <QStringList> +#include "twinkle_config.h" +#include <Q3ListView> +#include "numberconversionform.h" +#include "util.h" +#include "userprofileform.h" + // Indices of categories in the category list box #define idxCatUser 0 @@ -100,6 +113,39 @@ #define idxSipTransportUDP 1 #define idxSipTransportTCP 2 +/* + * Constructs a UserProfileForm as a child of 'parent', with the + * name 'name' and widget flags set to 'f'. + * + * The dialog will by default be modeless, unless you set 'modal' to + * true to construct a modal dialog. + */ +UserProfileForm::UserProfileForm(QWidget* parent, const char* name, bool modal, Qt::WindowFlags fl) + : QDialog(parent, name, modal, fl) +{ + setupUi(this); + + init(); +} + +/* + * Destroys the object and frees any allocated resources + */ +UserProfileForm::~UserProfileForm() +{ + // no need to delete child widgets, Qt does it all for us +} + +/* + * Sets the strings of the subwidgets using the current + * language. + */ +void UserProfileForm::languageChange() +{ + retranslateUi(this); +} + + void UserProfileForm::init() { QRegExp rxNoSpace("\\S*"); @@ -149,7 +195,7 @@ void UserProfileForm::init() // Set toolbutton icons for disabled options. QIcon i; i = openRingtoneToolButton->iconSet(); - i.setPixmap(qPixmapFromMimeSource("fileopen-disabled.png"), + i.setPixmap(QPixmap(":/icons/images/fileopen-disabled.png"), QIcon::Automatic, QIcon::Disabled); openRingtoneToolButton->setIconSet(i); openRingbackToolButton->setIconSet(i); diff --git a/src/gui/userprofileform.h b/src/gui/userprofileform.h new file mode 100644 index 0000000..b339210 --- /dev/null +++ b/src/gui/userprofileform.h @@ -0,0 +1,79 @@ +#ifndef USERPROFILEFORM_H +#define USERPROFILEFORM_H +#include <list> +#include <map> +#include "Qt3Support/Q3ValueList" +#include "user.h" +#include "ui_userprofileform.h" + +class UserProfileForm : public QDialog, public Ui::UserProfileForm +{ + Q_OBJECT + +public: + UserProfileForm(QWidget* parent = 0, const char* name = 0, bool modal = false, Qt::WindowFlags fl = 0); + ~UserProfileForm(); + + virtual t_audio_codec label2codec( const QString & label ); + virtual QString codec2label( t_audio_codec & codec ); + virtual int ext_support2indexComboItem( t_ext_support ext ); + virtual t_ext_support indexComboItem2ext_support( int index ); + virtual int exec( list<t_user *> profiles, QString show_profile ); + virtual bool check_dynamic_payload( QSpinBox * spb, Q3ValueList<int> & checked_list ); + virtual list<t_number_conversion> get_number_conversions(); + virtual bool validateValues(); + +public slots: + virtual void showCategory( int index ); + virtual void populate(); + virtual void initProfileList( list<t_user *> profiles, QString show_profile_name ); + virtual void show( list<t_user *> profiles, QString show_profile ); + virtual void validate(); + virtual void changeProfile( const QString & profileName ); + virtual void chooseFile( QLineEdit * qle, const QString & filter, const QString & caption ); + virtual void chooseRingtone(); + virtual void chooseRingback(); + virtual void chooseIncomingCallScript(); + virtual void chooseInCallAnsweredScript(); + virtual void chooseInCallFailedScript(); + virtual void chooseOutgoingCallScript(); + virtual void chooseOutCallAnsweredScript(); + virtual void chooseOutCallFailedScript(); + virtual void chooseLocalReleaseScript(); + virtual void chooseRemoteReleaseScript(); + virtual void addCodec(); + virtual void removeCodec(); + virtual void upCodec(); + virtual void downCodec(); + virtual void upConversion(); + virtual void downConversion(); + virtual void addConversion(); + virtual void editConversion(); + virtual void removeConversion(); + virtual void testConversion(); + virtual void changeMWIType( int idxMWIType ); + virtual void changeSipTransportProtocol( int idx ); + +signals: + void stunServerChanged(t_user *); + void authCredentialsChanged(t_user *, const string &); + void sipUserChanged(t_user *); + void success(); + void mwiChangeUnsubscribe(t_user *); + void mwiChangeSubscribe(t_user *); + +protected slots: + virtual void languageChange(); + +private: + map<t_user *, int> map_last_cat; + t_user *current_profile; + int current_profile_idx; + list<t_user *> profile_list; + + void init(); + +}; + + +#endif diff --git a/src/gui/userprofileform.ui b/src/gui/userprofileform.ui index 4758dcc..5e28b38 100644 --- a/src/gui/userprofileform.ui +++ b/src/gui/userprofileform.ui @@ -73,7 +73,7 @@ <string>User</string> </property> <property name="pixmap"> - <pixmap>penguin.png</pixmap> + <pixmap>:/icons/images/penguin.png</pixmap> </property> </item> <item> @@ -81,7 +81,7 @@ <string>SIP server</string> </property> <property name="pixmap"> - <pixmap>package_network.png</pixmap> + <pixmap>:/icons/images/package_network.png</pixmap> </property> </item> <item> @@ -89,7 +89,7 @@ <string>Voice mail</string> </property> <property name="pixmap"> - <pixmap>mwi_none.png</pixmap> + <pixmap>:/icons/images/mwi_none.png</pixmap> </property> </item> <item> @@ -97,7 +97,7 @@ <string>Instant message</string> </property> <property name="pixmap"> - <pixmap>message32.png</pixmap> + <pixmap>:/icons/images/message32.png</pixmap> </property> </item> <item> @@ -105,7 +105,7 @@ <string>Presence</string> </property> <property name="pixmap"> - <pixmap>presence.png</pixmap> + <pixmap>:/icons/images/presence.png</pixmap> </property> </item> <item> @@ -113,7 +113,7 @@ <string>RTP audio</string> </property> <property name="pixmap"> - <pixmap>kmix.png</pixmap> + <pixmap>:/icons/images/kmix.png</pixmap> </property> </item> <item> @@ -121,7 +121,7 @@ <string>SIP protocol</string> </property> <property name="pixmap"> - <pixmap>package_system.png</pixmap> + <pixmap>:/icons/images/package_system.png</pixmap> </property> </item> <item> @@ -129,7 +129,7 @@ <string>Transport/NAT</string> </property> <property name="pixmap"> - <pixmap>yast_babelfish.png</pixmap> + <pixmap>:/icons/images/yast_babelfish.png</pixmap> </property> </item> <item> @@ -137,7 +137,7 @@ <string>Address format</string> </property> <property name="pixmap"> - <pixmap>yast_PhoneTTOffhook.png</pixmap> + <pixmap>:/icons/images/yast_PhoneTTOffhook.png</pixmap> </property> </item> <item> @@ -145,7 +145,7 @@ <string>Timers</string> </property> <property name="pixmap"> - <pixmap>clock.png</pixmap> + <pixmap>:/icons/images/clock.png</pixmap> </property> </item> <item> @@ -153,7 +153,7 @@ <string>Ring tones</string> </property> <property name="pixmap"> - <pixmap>knotify.png</pixmap> + <pixmap>:/icons/images/knotify.png</pixmap> </property> </item> <item> @@ -161,7 +161,7 @@ <string>Scripts</string> </property> <property name="pixmap"> - <pixmap>edit.png</pixmap> + <pixmap>:/icons/images/edit.png</pixmap> </property> </item> <item> @@ -169,7 +169,7 @@ <string>Security</string> </property> <property name="pixmap"> - <pixmap>encrypted32.png</pixmap> + <pixmap>:/icons/images/encrypted32.png</pixmap> </property> </item> </widget> @@ -991,7 +991,7 @@ If you disable this option, then the first codec from the active codecs that is <string/> </property> <property name="icon"> - <pixmap>1rightarrow.png</pixmap> + <pixmap>:/icons/images/1rightarrow.png</pixmap> </property> <property name="whatsThis" stdset="0"> <string>Move a codec from the list of available codecs to the list of active codecs.</string> @@ -1004,7 +1004,7 @@ If you disable this option, then the first codec from the active codecs that is <string/> </property> <property name="icon"> - <pixmap>1leftarrow.png</pixmap> + <pixmap>:/icons/images/1leftarrow.png</pixmap> </property> <property name="whatsThis" stdset="0"> <string>Move a codec from the list of active codecs to the list of available codecs.</string> @@ -1074,7 +1074,7 @@ If you disable this option, then the first codec from the active codecs that is <string/> </property> <property name="icon"> - <pixmap>1uparrow.png</pixmap> + <pixmap>:/icons/images/1uparrow.png</pixmap> </property> <property name="whatsThis" stdset="0"> <string>Move a codec upwards in the list of active codecs, i.e. increase its preference of use.</string> @@ -1087,7 +1087,7 @@ If you disable this option, then the first codec from the active codecs that is <string/> </property> <property name="icon"> - <pixmap>1downarrow.png</pixmap> + <pixmap>:/icons/images/1downarrow.png</pixmap> </property> <property name="whatsThis" stdset="0"> <string>Move a codec downwards in the list of active codecs, i.e. decrease its preference of use.</string> @@ -3172,7 +3172,7 @@ Match expression = 0[0-9]* , Replace = 9$&<br> <string/> </property> <property name="icon"> - <pixmap>1uparrow.png</pixmap> + <pixmap>:/icons/images/1uparrow.png</pixmap> </property> <property name="whatsThis" stdset="0"> <string>Move the selected number conversion rule upwards in the list.</string> @@ -3185,7 +3185,7 @@ Match expression = 0[0-9]* , Replace = 9$&<br> <string/> </property> <property name="icon"> - <pixmap>1downarrow.png</pixmap> + <pixmap>:/icons/images/1downarrow.png</pixmap> </property> <property name="whatsThis" stdset="0"> <string>Move the selected number conversion rule downwards in the list.</string> @@ -3526,7 +3526,7 @@ Match expression = 0[0-9]* , Replace = 9$&<br> <string/> </property> <property name="icon"> - <iconset>fileopen.png</iconset> + <iconset>:/icons/images/fileopen.png</iconset> </property> <property name="whatsThis" stdset="0"> <string>Select ring back tone file.</string> @@ -3542,7 +3542,7 @@ Match expression = 0[0-9]* , Replace = 9$&<br> <string/> </property> <property name="icon"> - <iconset>fileopen.png</iconset> + <iconset>:/icons/images/fileopen.png</iconset> </property> <property name="whatsThis" stdset="0"> <string>Select ring tone file.</string> @@ -3671,7 +3671,7 @@ The values of all SIP headers of the outgoing SIP BYE request are passed in envi <string/> </property> <property name="icon"> - <iconset>fileopen.png</iconset> + <iconset>:/icons/images/fileopen.png</iconset> </property> <property name="whatsThis" stdset="0"> <string>Select script file.</string> @@ -3687,7 +3687,7 @@ The values of all SIP headers of the outgoing SIP BYE request are passed in envi <string/> </property> <property name="icon"> - <iconset>fileopen.png</iconset> + <iconset>:/icons/images/fileopen.png</iconset> </property> <property name="whatsThis" stdset="0"> <string>Select script file.</string> @@ -3703,7 +3703,7 @@ The values of all SIP headers of the outgoing SIP BYE request are passed in envi <string/> </property> <property name="icon"> - <iconset>fileopen.png</iconset> + <iconset>:/icons/images/fileopen.png</iconset> </property> <property name="whatsThis" stdset="0"> <string>Select script file.</string> @@ -3734,7 +3734,7 @@ The values of all SIP headers of the outgoing SIP failure response are passed in <string/> </property> <property name="icon"> - <iconset>fileopen.png</iconset> + <iconset>:/icons/images/fileopen.png</iconset> </property> <property name="whatsThis" stdset="0"> <string>Select script file.</string> @@ -3765,7 +3765,7 @@ The values of all SIP headers of the incoming SIP BYE request are passed in envi <string/> </property> <property name="icon"> - <iconset>fileopen.png</iconset> + <iconset>:/icons/images/fileopen.png</iconset> </property> <property name="whatsThis" stdset="0"> <string>Select script file.</string> @@ -3882,7 +3882,7 @@ The values of all SIP headers of the outgoing 200 OK are passed in environment v <string/> </property> <property name="icon"> - <iconset>fileopen.png</iconset> + <iconset>:/icons/images/fileopen.png</iconset> </property> <property name="whatsThis" stdset="0"> <string>Select script file.</string> @@ -3967,7 +3967,7 @@ The values of all SIP headers of the outgoing INVITE are passed in environment v <string/> </property> <property name="icon"> - <iconset>fileopen.png</iconset> + <iconset>:/icons/images/fileopen.png</iconset> </property> <property name="whatsThis" stdset="0"> <string>Select script file.</string> @@ -4009,7 +4009,7 @@ The values of all SIP headers of the outgoing INVITE are passed in environment v <string/> </property> <property name="icon"> - <iconset>fileopen.png</iconset> + <iconset>:/icons/images/fileopen.png</iconset> </property> <property name="whatsThis" stdset="0"> <string>Select script file.</string> diff --git a/src/gui/wizardform.ui.h b/src/gui/wizardform.cpp index e7bf798..6ed7d5d 100644 --- a/src/gui/wizardform.ui.h +++ b/src/gui/wizardform.cpp @@ -1,16 +1,6 @@ //Added by qt3to4: #include <Q3TextStream> -/**************************************************************************** -** ui.h extension file, included from the uic-generated form implementation. -** -** If you want to add, delete, or rename functions or slots, use -** Qt Designer to update this file, preserving your code. -** -** You should not define a constructor or destructor in this file. -** Instead, write your code in functions called init() and destroy(). -** These will automatically be called by the form's constructor and -** destructor. -*****************************************************************************/ + /* Copyright (C) 2005-2009 Michel de Boer <michel@twinklephone.com> @@ -29,6 +19,15 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include <QRegExp> +#include <QLineEdit> +#include <QLabel> +#include <QValidator> +#include <QComboBox> +#include "gui.h" +#include <QFile> +#include "wizardform.h" + #define PROV_NONE QT_TRANSLATE_NOOP("WizardForm", "None (direct IP to IP calls)") #define PROV_OTHER QT_TRANSLATE_NOOP("WizardForm", "Other") @@ -38,6 +37,39 @@ struct t_provider { QString stun_server; }; +/* + * Constructs a WizardForm as a child of 'parent', with the + * name 'name' and widget flags set to 'f'. + * + * The dialog will by default be modeless, unless you set 'modal' to + * true to construct a modal dialog. + */ +WizardForm::WizardForm(QWidget* parent, const char* name, bool modal, Qt::WindowFlags fl) + : QDialog(parent, name, modal, fl) +{ + setupUi(this); + + init(); +} + +/* + * Destroys the object and frees any allocated resources + */ +WizardForm::~WizardForm() +{ + // no need to delete child widgets, Qt does it all for us +} + +/* + * Sets the strings of the subwidgets using the current + * language. + */ +void WizardForm::languageChange() +{ + retranslateUi(this); +} + + void WizardForm::init() { QRegExp rxNoSpace("\\S*"); diff --git a/src/gui/wizardform.h b/src/gui/wizardform.h new file mode 100644 index 0000000..9332d3f --- /dev/null +++ b/src/gui/wizardform.h @@ -0,0 +1,44 @@ +#ifndef WIZARDFORM_H +#define WIZARDFORM_H + +struct t_provider; + +#include <map> +#include "user.h" +#include "ui_wizardform.h" + +class WizardForm : public QDialog, public Ui::WizardForm +{ + Q_OBJECT + +public: + WizardForm(QWidget* parent = 0, const char* name = 0, bool modal = false, Qt::WindowFlags fl = 0); + ~WizardForm(); + + virtual void show( t_user * user ); + +public slots: + virtual void initProviders(); + virtual int exec( t_user * user ); + virtual void update( const QString & item ); + virtual void updateAuthName( const QString & s ); + virtual void disableSuggestAuthName(); + virtual void validate(); + +signals: + void success(); + +protected slots: + virtual void languageChange(); + +private: + bool suggestAuthName; + std::map<QString, t_provider> mapProviders; + t_user *user_config; + + void init(); + +}; + + +#endif |