summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/CMakeLists.txt48
-rw-r--r--src/gui/addresscardform.cpp (renamed from src/gui/addresscardform.ui.h)47
-rw-r--r--src/gui/addresscardform.h24
-rw-r--r--src/gui/authenticationform.cpp (renamed from src/gui/authenticationform.ui.h)40
-rw-r--r--src/gui/authenticationform.h21
-rw-r--r--src/gui/authenticationform.ui2
-rw-r--r--src/gui/buddyform.cpp (renamed from src/gui/buddyform.ui.h)51
-rw-r--r--src/gui/buddyform.h41
-rw-r--r--src/gui/buddyform.ui2
-rw-r--r--src/gui/buddylistview.cpp18
-rw-r--r--src/gui/diamondcardprofileform.cpp (renamed from src/gui/diamondcardprofileform.ui.h)52
-rw-r--r--src/gui/diamondcardprofileform.h46
-rw-r--r--src/gui/freedesksystray.cpp154
-rw-r--r--src/gui/freedesksystray.h95
-rw-r--r--src/gui/getaddressform.cpp (renamed from src/gui/getaddressform.ui.h)31
-rw-r--r--src/gui/getaddressform.h35
-rw-r--r--src/gui/gui.cpp25
-rw-r--r--src/gui/gui.h6
-rw-r--r--src/gui/historyform.cpp (renamed from src/gui/historyform.ui.h)57
-rw-r--r--src/gui/historyform.h45
-rw-r--r--src/gui/historylistview.cpp8
-rw-r--r--src/gui/inviteform.cpp (renamed from src/gui/inviteform.ui.h)30
-rw-r--r--src/gui/inviteform.h39
-rw-r--r--src/gui/messageform.cpp (renamed from src/gui/messageform.ui.h)60
-rw-r--r--src/gui/messageform.h75
-rw-r--r--src/gui/messageform.ui4
-rw-r--r--src/gui/messageformview.h4
-rw-r--r--src/gui/mphoneform.cpp (renamed from src/gui/mphoneform.ui.h)128
-rw-r--r--src/gui/mphoneform.h206
-rw-r--r--src/gui/mphoneform.ui4587
-rw-r--r--src/gui/redirectform.cpp (renamed from src/gui/redirectform.ui.h)36
-rw-r--r--src/gui/redirectform.h58
-rw-r--r--src/gui/redirectform.ui6
-rw-r--r--src/gui/selectnicform.cpp (renamed from src/gui/selectnicform.ui.h)49
-rw-r--r--src/gui/selectnicform.h30
-rw-r--r--src/gui/selectnicform.ui2
-rw-r--r--src/gui/selectprofileform.cpp (renamed from src/gui/selectprofileform.ui.h)68
-rw-r--r--src/gui/selectprofileform.h61
-rw-r--r--src/gui/selectuserform.cpp (renamed from src/gui/selectuserform.ui.h)52
-rw-r--r--src/gui/selectuserform.h39
-rw-r--r--src/gui/sendfileform.cpp (renamed from src/gui/sendfileform.ui.h)51
-rw-r--r--src/gui/sendfileform.h33
-rw-r--r--src/gui/sendfileform.ui2
-rw-r--r--src/gui/srvredirectform.cpp (renamed from src/gui/srvredirectform.ui.h)50
-rw-r--r--src/gui/srvredirectform.h63
-rw-r--r--src/gui/srvredirectform.ui18
-rw-r--r--src/gui/syssettingsform.cpp (renamed from src/gui/syssettingsform.ui.h)65
-rw-r--r--src/gui/syssettingsform.h53
-rw-r--r--src/gui/syssettingsform.ui16
-rw-r--r--src/gui/termcapform.cpp (renamed from src/gui/termcapform.ui.h)52
-rw-r--r--src/gui/termcapform.h40
-rw-r--r--src/gui/termcapform.ui2
-rw-r--r--src/gui/transferform.cpp (renamed from src/gui/transferform.ui.h)49
-rw-r--r--src/gui/transferform.h52
-rw-r--r--src/gui/transferform.ui2
-rw-r--r--src/gui/twinklesystray.cpp38
-rw-r--r--src/gui/twinklesystray.h47
-rw-r--r--src/gui/userprofileform.cpp (renamed from src/gui/userprofileform.ui.h)64
-rw-r--r--src/gui/userprofileform.h79
-rw-r--r--src/gui/userprofileform.ui58
-rw-r--r--src/gui/wizardform.cpp (renamed from src/gui/wizardform.ui.h)54
-rw-r--r--src/gui/wizardform.h44
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(' ', "&nbsp;");
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(' ', "&nbsp;");
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(' ', "&nbsp;");
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">&amp;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 &lt;b&gt;sip:example@example.com&lt;/b&gt; 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>&amp;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 &amp;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">&amp;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 &lt;b&gt;sip:example@example.com&lt;/b&gt; 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>&amp;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 &amp;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 &amp;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 &amp;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>&amp;File</string>
- </property>
- <addaction name="fileChangeUserAction"/>
- <addaction name="separator"/>
- <addaction name="fileExitAction"/>
- </widget>
- <widget class="QMenu" name="Edit">
- <property name="title">
- <string>&amp;Edit</string>
- </property>
- <addaction name="editUserProfileAction"/>
- <addaction name="editSysSettingsAction"/>
- </widget>
- <widget class="QMenu" name="Call">
- <property name="title">
- <string>C&amp;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>&amp;Message</string>
- </property>
- <addaction name="actionSendMsg"/>
- </widget>
- <widget class="QMenu" name="PopupMenu_2">
- <property name="title">
- <string>&amp;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>&amp;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>&amp;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>&amp;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>&amp;File</string>
+ </property>
+ <addaction name="fileChangeUserAction"/>
+ <addaction name="separator"/>
+ <addaction name="fileExitAction"/>
+ </widget>
+ <widget class="QMenu" name="Edit">
+ <property name="title">
+ <string>&amp;Edit</string>
+ </property>
+ <addaction name="editUserProfileAction"/>
+ <addaction name="editSysSettingsAction"/>
+ </widget>
+ <widget class="QMenu" name="Call">
+ <property name="title">
+ <string>C&amp;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>&amp;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>&amp;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>&amp;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>&amp;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>&amp;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>&amp;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>&amp;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&amp;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>&amp;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>&amp;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>&amp;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>&amp;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>&amp;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>&amp;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 &amp;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>&amp;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 &amp;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>&amp;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>&amp;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>&amp;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&amp;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>&amp;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 &amp;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>&amp;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>&amp;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 &amp;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>&amp;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 &amp;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>&amp;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>&amp;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 &amp;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>&amp;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>&amp;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>&amp;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>&amp;Message</string>
+ </property>
+ <addaction name="actionSendMsg"/>
+ </widget>
+ <widget class="QMenu" name="PopupMenu_2">
+ <property name="title">
+ <string>&amp;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>&amp;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>&amp;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>&amp;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>&amp;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>&amp;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>&amp;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>&amp;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>&amp;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>&amp;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>&amp;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&amp;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>&amp;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>&amp;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>&amp;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>&amp;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>&amp;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>&amp;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 &amp;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>&amp;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 &amp;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>&amp;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>&amp;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>&amp;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&amp;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>&amp;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 &amp;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>&amp;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>&amp;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 &amp;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>&amp;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 &amp;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>&amp;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>&amp;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 &amp;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>&amp;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>&amp;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>&amp;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$&amp;&lt;br&gt;
<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$&amp;&lt;br&gt;
<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$&amp;&lt;br&gt;
<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$&amp;&lt;br&gt;
<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