diff options
Diffstat (limited to 'kopete/protocols/oscar/aim/ui')
-rw-r--r-- | kopete/protocols/oscar/aim/ui/CMakeLists.txt | 31 | ||||
-rw-r--r-- | kopete/protocols/oscar/aim/ui/Makefile.am | 15 | ||||
-rw-r--r-- | kopete/protocols/oscar/aim/ui/aimaddcontactpage.cpp | 83 | ||||
-rw-r--r-- | kopete/protocols/oscar/aim/ui/aimaddcontactpage.h | 42 | ||||
-rw-r--r-- | kopete/protocols/oscar/aim/ui/aimaddcontactui.ui | 64 | ||||
-rw-r--r-- | kopete/protocols/oscar/aim/ui/aimeditaccountui.ui | 540 | ||||
-rw-r--r-- | kopete/protocols/oscar/aim/ui/aimeditaccountwidget.cpp | 172 | ||||
-rw-r--r-- | kopete/protocols/oscar/aim/ui/aimeditaccountwidget.h | 59 | ||||
-rw-r--r-- | kopete/protocols/oscar/aim/ui/aiminfobase.ui | 246 | ||||
-rw-r--r-- | kopete/protocols/oscar/aim/ui/aimjoinchatbase.ui | 124 |
10 files changed, 1376 insertions, 0 deletions
diff --git a/kopete/protocols/oscar/aim/ui/CMakeLists.txt b/kopete/protocols/oscar/aim/ui/CMakeLists.txt new file mode 100644 index 00000000..8f5ff329 --- /dev/null +++ b/kopete/protocols/oscar/aim/ui/CMakeLists.txt @@ -0,0 +1,31 @@ +################################################# +# +# (C) 2010-2011 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +include_directories( + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/.. + ${CMAKE_CURRENT_SOURCE_DIR}/../.. + ${CMAKE_CURRENT_SOURCE_DIR}/../../liboscar + ${CMAKE_BINARY_DIR}/kopete/libkopete/ui + ${CMAKE_SOURCE_DIR}/kopete/libkopete + ${CMAKE_SOURCE_DIR}/kopete/libkopete/ui + ${TDE_INCLUDE_DIR} + ${TQT_INCLUDE_DIRS} +) + + +##### kopeteaimui (static) ###################### + +tde_add_library( kopeteaimui STATIC_PIC AUTOMOC + SOURCES + aimaddcontactui.ui aimeditaccountui.ui aiminfobase.ui + aimjoinchatbase.ui aimaddcontactpage.cpp aimeditaccountwidget.cpp +) diff --git a/kopete/protocols/oscar/aim/ui/Makefile.am b/kopete/protocols/oscar/aim/ui/Makefile.am new file mode 100644 index 00000000..aa690449 --- /dev/null +++ b/kopete/protocols/oscar/aim/ui/Makefile.am @@ -0,0 +1,15 @@ +METASOURCES = AUTO +AM_CPPFLAGS = $(KOPETE_INCLUDES) \ + -I$(srcdir)/.. \ + -I$(srcdir)/../.. \ + -I$(srcdir)/../../liboscar \ + $(all_includes) + +noinst_LTLIBRARIES = libkopeteaimui.la + +libkopeteaimui_la_SOURCES = aimaddcontactui.ui aimeditaccountui.ui \ + aiminfobase.ui aimjoinchatbase.ui aimaddcontactpage.cpp aimeditaccountwidget.cpp + +libkopeteaimui_la_LIBADD = $(top_builddir)/kopete/libkopete/libkopete.la + + diff --git a/kopete/protocols/oscar/aim/ui/aimaddcontactpage.cpp b/kopete/protocols/oscar/aim/ui/aimaddcontactpage.cpp new file mode 100644 index 00000000..c6612027 --- /dev/null +++ b/kopete/protocols/oscar/aim/ui/aimaddcontactpage.cpp @@ -0,0 +1,83 @@ +/*************************************************************************** + description + ------------------- + begin : + copyright : (C) 2002 by nbetcher + email : nbetcher@usinternet.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. * + * * + ***************************************************************************/ + +#include "aimaddcontactui.h" +#include "aimaddcontactpage.h" + +#include "kopeteaccount.h" + +#include <tqlayout.h> +#include <tqlineedit.h> +#include <tdelocale.h> +#include <tdemessagebox.h> + +AIMAddContactPage::AIMAddContactPage(bool connected, TQWidget *parent, + const char *name ) + : AddContactPage(parent,name) +{ + m_gui = 0; + (new TQVBoxLayout(this))->setAutoAdd(true); + + if(connected) + { + m_gui = new aimAddContactUI(this); + canadd = true; + } + else + { + noaddMsg1 = new TQLabel(i18n("You need to be connected to be able to add contacts."), this); + noaddMsg2 = new TQLabel(i18n("Connect to the AIM network and try again."), this); + canadd = false; + } +} + + +AIMAddContactPage::~AIMAddContactPage() +{ +} + +bool AIMAddContactPage::validateData() +{ + if ( !canadd ) + return false; + + if ( !m_gui ) + return false; + + TQString sn = m_gui->addSN->text(); + if ( sn.isEmpty() ) + { + KMessageBox::sorry ( this, + i18n("<qt>You must enter a valid screen name.</qt>"), + i18n("No Screen Name") ); + return false; + } + return true; +} + +bool AIMAddContactPage::apply(Kopete::Account *account, + Kopete::MetaContact *metaContact) +{ + if(validateData()) + { // If everything is ok + return account->addContact( m_gui->addSN->text(), metaContact, Kopete::Account::ChangeKABC ); + } + return false; +} +//kate: tab-width 4; indent-mode csands; + +#include "aimaddcontactpage.moc" diff --git a/kopete/protocols/oscar/aim/ui/aimaddcontactpage.h b/kopete/protocols/oscar/aim/ui/aimaddcontactpage.h new file mode 100644 index 00000000..c3bcaa36 --- /dev/null +++ b/kopete/protocols/oscar/aim/ui/aimaddcontactpage.h @@ -0,0 +1,42 @@ + +#ifndef AIMADDCONTACTPAGE_H +#define AIMADDCONTACTPAGE_H + +#include <tqwidget.h> +#include <tqlabel.h> +#include "addcontactpage.h" + +class aimAddContactUI; +class AIMAccount; +namespace Kopete +{ +class Account; +class MetaContact; +} + +class AIMAddContactPage : public AddContactPage +{ +Q_OBJECT + + +public: + AIMAddContactPage(bool connected, TQWidget *parent=0, + const char *name=0); + ~AIMAddContactPage(); + + /** Validates the data entered */ + virtual bool validateData(); + /** Applies the addition to the account */ + virtual bool apply( Kopete::Account *account, Kopete::MetaContact *); + +protected: + /** The actual GUI */ + aimAddContactUI *m_gui; + TQLabel *noaddMsg1; + TQLabel *noaddMsg2; + bool canadd; +}; +#endif + +//kate: tab-width 4; indent-mode csands; + diff --git a/kopete/protocols/oscar/aim/ui/aimaddcontactui.ui b/kopete/protocols/oscar/aim/ui/aimaddcontactui.ui new file mode 100644 index 00000000..663d2fc5 --- /dev/null +++ b/kopete/protocols/oscar/aim/ui/aimaddcontactui.ui @@ -0,0 +1,64 @@ +<!DOCTYPE UI><UI version="3.1" stdsetdef="1"> +<class>aimAddContactUI</class> +<widget class="TQWidget"> + <property name="name"> + <cstring>aimAddContactUI</cstring> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>455</width> + <height>131</height> + </rect> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <widget class="TQGroupBox"> + <property name="name"> + <cstring>GroupBox1</cstring> + </property> + <property name="title"> + <string>Contact Information</string> + </property> + <property name="layoutMargin" stdset="0"> + </property> + <property name="layoutSpacing" stdset="0"> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>11</number> + </property> + <property name="spacing"> + <number>6</number> + </property> + <widget class="TQLineEdit" row="0" column="1"> + <property name="name"> + <cstring>addSN</cstring> + </property> + </widget> + <widget class="TQLabel" row="0" column="0"> + <property name="name"> + <cstring>TextLabel1</cstring> + </property> + <property name="text"> + <string>AIM screen name:</string> + </property> + </widget> + </grid> + </widget> + </vbox> +</widget> +<tabstops> + <tabstop>addSN</tabstop> +</tabstops> +<layoutdefaults spacing="6" margin="11"/> +</UI> diff --git a/kopete/protocols/oscar/aim/ui/aimeditaccountui.ui b/kopete/protocols/oscar/aim/ui/aimeditaccountui.ui new file mode 100644 index 00000000..c2ec9844 --- /dev/null +++ b/kopete/protocols/oscar/aim/ui/aimeditaccountui.ui @@ -0,0 +1,540 @@ +<!DOCTYPE UI><UI version="3.3" stdsetdef="1"> +<class>aimEditAccountUI</class> +<widget class="TQWidget"> + <property name="name"> + <cstring>aimEditAccountUI</cstring> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>560</width> + <height>583</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>5</hsizetype> + <vsizetype>5</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="caption"> + <string>Account Preferences - AIM</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="TQLabel" row="1" column="0"> + <property name="name"> + <cstring>labelStatusMessage</cstring> + </property> + <property name="text"> + <string></string> + </property> + <property name="alignment"> + <set>AlignCenter</set> + </property> + </widget> + <widget class="TQTabWidget" row="0" column="0"> + <property name="name"> + <cstring>tabWidget6</cstring> + </property> + <widget class="TQWidget"> + <property name="name"> + <cstring>tab</cstring> + </property> + <attribute name="title"> + <string>&Basic Setup</string> + </attribute> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="TQGroupBox"> + <property name="name"> + <cstring>groupBox72</cstring> + </property> + <property name="title"> + <string>Account Information</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="TQLayoutWidget" row="0" column="0"> + <property name="name"> + <cstring>layout4</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="TQLabel"> + <property name="name"> + <cstring>lblAccountId</cstring> + </property> + <property name="text"> + <string>AIM &screen name:</string> + </property> + <property name="buddy" stdset="0"> + <cstring>edtAccountId</cstring> + </property> + <property name="toolTip" stdset="0"> + <string>The screen name of your AIM account.</string> + </property> + <property name="whatsThis" stdset="0"> + <string>The screen name of your AIM account. This should be in the form of an alphanumeric string (spaces allowed, not case sensitive).</string> + </property> + </widget> + <widget class="TQLineEdit"> + <property name="name"> + <cstring>edtAccountId</cstring> + </property> + <property name="toolTip" stdset="0"> + <string>The screen name of your AIM account.</string> + </property> + <property name="whatsThis" stdset="0"> + <string>The screen name of your AIM account. This should be in the form of an alphanumeric string (spaces allowed, not case sensitive).</string> + </property> + </widget> + </hbox> + </widget> + <widget class="Kopete::UI::PasswordWidget" row="1" column="0"> + <property name="name"> + <cstring>mPasswordWidget</cstring> + </property> + </widget> + <widget class="TQCheckBox" row="3" column="0"> + <property name="name"> + <cstring>mGlobalIdentity</cstring> + </property> + <property name="text"> + <string>Exclu&de from Global Identity</string> + </property> + </widget> + <widget class="TQCheckBox" row="2" column="0"> + <property name="name"> + <cstring>mAutoLogon</cstring> + </property> + <property name="text"> + <string>E&xclude from connect all</string> + </property> + <property name="whatsThis" stdset="0"> + <string>If you check that case, the account will not be connected when you press the "Connect All" button, or at startup even if you selected to automatically connect at startup</string> + </property> + </widget> + </grid> + </widget> + <widget class="TQGroupBox"> + <property name="name"> + <cstring>groupBox5</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="title"> + <string>Registration</string> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="TQLabel"> + <property name="name"> + <cstring>textLabel6</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>0</height> + </size> + </property> + <property name="text"> + <string>To connect to the AOL Instant Messaging network, you will need to use a screen name from AIM, AOL, or .Mac.<br><br>If you do not currently have an AIM screen name, please click the button to create one.</string> + </property> + <property name="alignment"> + <set>WordBreak|AlignVCenter</set> + </property> + </widget> + <widget class="TQPushButton"> + <property name="name"> + <cstring>buttonRegister</cstring> + </property> + <property name="text"> + <string>Re&gister New Account</string> + </property> + </widget> + </hbox> + </widget> + <spacer> + <property name="name"> + <cstring>spacer7</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>20</width> + <height>90</height> + </size> + </property> + </spacer> + </vbox> + </widget> + <widget class="TQWidget"> + <property name="name"> + <cstring>tab</cstring> + </property> + <attribute name="title"> + <string>Accou&nt Preferences</string> + </attribute> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="TQGroupBox" row="0" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>groupBox73</cstring> + </property> + <property name="title"> + <string>Connection Preferences</string> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="TQCheckBox"> + <property name="name"> + <cstring>optionOverrideServer</cstring> + </property> + <property name="text"> + <string>&Override default server information</string> + </property> + <property name="checked"> + <bool>false</bool> + </property> + </widget> + <widget class="TQLayoutWidget"> + <property name="name"> + <cstring>layout58</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="TQLabel"> + <property name="name"> + <cstring>lblServer</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Ser&ver:</string> + </property> + <property name="buddy" stdset="0"> + <cstring>edtServerAddress</cstring> + </property> + <property name="toolTip" stdset="0"> + <string>The IP address or hostmask of the AIM server you wish to connect to.</string> + </property> + <property name="whatsThis" stdset="0"> + <string>The IP address or hostmask of the AIM server you wish to connect to. Normally you will want the default (login.oscar.aol.com).</string> + </property> + </widget> + <widget class="TQLineEdit"> + <property name="name"> + <cstring>edtServerAddress</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>login.oscar.aol.com</string> + </property> + <property name="toolTip" stdset="0"> + <string>The IP address or hostmask of the AIM server you wish to connect to.</string> + </property> + <property name="whatsThis" stdset="0"> + <string>The IP address or hostmask of the AIM server you wish to connect to. Normally you will want the default (login.oscar.aol.com).</string> + </property> + </widget> + <widget class="TQLabel"> + <property name="name"> + <cstring>lblPort</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Po&rt:</string> + </property> + <property name="buddy" stdset="0"> + <cstring>sbxServerPort</cstring> + </property> + <property name="toolTip" stdset="0"> + <string>The port on the AIM server that you would like to connect to.</string> + </property> + <property name="whatsThis" stdset="0"> + <string>The port on the AIM server that you would like to connect to. Normally this is 5190.</string> + </property> + </widget> + <widget class="TQSpinBox"> + <property name="name"> + <cstring>sbxServerPort</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="maxValue"> + <number>65534</number> + </property> + <property name="minValue"> + <number>1</number> + </property> + <property name="value"> + <number>5190</number> + </property> + <property name="toolTip" stdset="0"> + <string>The port on the AIM server that you would like to connect to.</string> + </property> + <property name="whatsThis" stdset="0"> + <string>The port on the AIM server that you would like to connect to. Normally this is 5190.</string> + </property> + </widget> + </hbox> + </widget> + </vbox> + </widget> + <spacer row="2" column="0"> + <property name="name"> + <cstring>spacer21</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>20</width> + <height>200</height> + </size> + </property> + </spacer> + <widget class="TQComboBox" row="1" column="1"> + <property name="name"> + <cstring>encodingCombo</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + </widget> + <widget class="TQLabel" row="1" column="0"> + <property name="name"> + <cstring>textLabel1</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Default to the following &encoding for messages:</string> + </property> + <property name="buddy" stdset="0"> + <cstring>encodingCombo</cstring> + </property> + </widget> + </grid> + </widget> + <widget class="TQWidget"> + <property name="name"> + <cstring>tab</cstring> + </property> + <attribute name="title"> + <string>Pri&vacy</string> + </attribute> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="TQButtonGroup" row="0" column="0"> + <property name="name"> + <cstring>buttonGroup1</cstring> + </property> + <property name="title"> + <string>Visibility settings</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="TQRadioButton" row="2" column="0"> + <property name="name"> + <cstring>rbAllowPerimtList</cstring> + </property> + <property name="text"> + <string>Allow only from visible list</string> + </property> + </widget> + <widget class="TQRadioButton" row="0" column="1"> + <property name="name"> + <cstring>rbBlockAll</cstring> + </property> + <property name="text"> + <string>Block all users</string> + </property> + </widget> + <widget class="TQRadioButton" row="1" column="1"> + <property name="name"> + <cstring>rbBlockAIM</cstring> + </property> + <property name="text"> + <string>Block AIM users</string> + </property> + </widget> + <widget class="TQRadioButton" row="2" column="1"> + <property name="name"> + <cstring>rbBlockDenyList</cstring> + </property> + <property name="text"> + <string>Block only from invisible list</string> + </property> + </widget> + <widget class="TQRadioButton" row="0" column="0"> + <property name="name"> + <cstring>rbAllowAll</cstring> + </property> + <property name="text"> + <string>Allow all users</string> + </property> + </widget> + <widget class="TQRadioButton" row="1" column="0"> + <property name="name"> + <cstring>rbAllowMyContacts</cstring> + </property> + <property name="text"> + <string>Allow only contact list's users</string> + </property> + </widget> + </grid> + </widget> + <spacer row="1" column="0"> + <property name="name"> + <cstring>spacer3</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>31</width> + <height>225</height> + </size> + </property> + </spacer> + </grid> + </widget> + </widget> + </grid> +</widget> +<customwidgets> + <customwidget> + <class>Kopete::UI::PasswordWidget</class> + <header location="local">kopetepasswordwidget.h</header> + <sizehint> + <width>50</width> + <height>50</height> + </sizehint> + <container>0</container> + <sizepolicy> + <hordata>1</hordata> + <verdata>0</verdata> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + <pixmap>image0</pixmap> + <signal>changed()</signal> + </customwidget> +</customwidgets> +<images> + <image name="image0"> + <data format="PNG" length="1002">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000003b149444154388dad945f4c5b551cc73fe7dc4b7b4bcba0762d45c43114323599ee6192609c51d883892ce083f1718b3ebb185f8dc91e972cf39d2d2a2f1af664b6f1e0fe3863a0718969700eb0c52142da0242a1bd6d696f7bcff101585203ceb8fd9ece39f99dcff9fe7edf939f88c562ec465f5f9fe609442c161362173c3e3eae7b7a7ac8e7f36432196cdbfe4f907c3e4f2291201e8fe338cec3737357e9e8e828aded1e229d650e1f2d51754b082110124c13a4dc5ea341eb9dc284c0558a853f3ce8cb0677ef500fde7d39d2596679e326597b8e9abb85d7a770ab16ab6983ec5a05b487a70e36f0f4e10afe408d6a558310980108478dba4a1e8233990c5d474b64ed39aa3a8fe5f3317fbf81dbd70bccfeb205947632fd74f6589c1c6ea2f70d03a58ba0c1f2c9bdc1b66de3b8256a6e11cbe7e3ee1d181b590124fe2693aeee08d223c82c3a2c24b7b874bec8f26288774f7bd054504aef0dde6e99c0eb83f9fb266323cb80a27fb0958141836044605a2ee5523393371cc646fee2da37195aa35d0c0c5b4859ac03d7e91712dcaac5adab3650a3ff9d08ef7dd8404bb48869e5d958b5b87dadc4c9a1464e9f0d0326df7ebd86bd2e310cb1bf62d384d59441f2d70a070e1c60e09489929b988681bdd9cc97170bcc4c65595f71f8e0e3301337fc24a7732467831875a47f289652b0be5e4151e6d07316c1b0c0340d8ab92023e76d66a6b2840e36d2fb7a13fee632475e6edc367ea98a90fb98b7dd6310ca0328a44761582e1bab41befabcc0ec940d28bc5e93b68e064cab84e1d9beaeb48934eac1f53b01c1b000fca496aa54b61a99fcde61662a4b4b4b23d1680be9d426173e4df3602a48ea411989a4fd590f52a8fd156b05ed9d350e3defe3cfdf4b4c7ce770ea7d3fb9f520afbe1620daeee5c26735d20b9b9cfb6811a754a439e4e5c5639a4caa1e5caf586bfc0197b78702005cb9b4cae4cd3267ce8638fe964bd72b393e39d74928d242617303a756a37f284447770dcdbffc6384a05a85de1306e9a52057c7527c7131c3c42d3f475eb2303c82d4fc3276d6811db37efeb148723082d9b08f79f97c1e5729109a9a28307cc622d2d6cdf52b2b24efe548dedb00142009862cfa879ee1a71f6cec928353511472fbf4389148b0b0e0c108081412458dfe21c9f11351e67e7358595468246d1d1e5e38a6e9e851bc39d84ab502a669331dafec0d8ec7e3e8cb06e1a881d727d1ae40180a434a8c9db129a54126ad48a7358c2b4c5352c8c374bcccdab2bb37d8719cba79fab8211f9df218e0582c261e95f8bfc04f1a1e8bc5c4dfe0a190172af6a9690000000049454e44ae426082</data> + </image> +</images> +<connections> + <connection> + <sender>optionOverrideServer</sender> + <signal>toggled(bool)</signal> + <receiver>lblServer</receiver> + <slot>setEnabled(bool)</slot> + </connection> + <connection> + <sender>optionOverrideServer</sender> + <signal>toggled(bool)</signal> + <receiver>lblPort</receiver> + <slot>setEnabled(bool)</slot> + </connection> + <connection> + <sender>optionOverrideServer</sender> + <signal>toggled(bool)</signal> + <receiver>edtServerAddress</receiver> + <slot>setEnabled(bool)</slot> + </connection> + <connection> + <sender>optionOverrideServer</sender> + <signal>toggled(bool)</signal> + <receiver>sbxServerPort</receiver> + <slot>setEnabled(bool)</slot> + </connection> +</connections> +<tabstops> + <tabstop>tabWidget6</tabstop> + <tabstop>edtAccountId</tabstop> + <tabstop>mAutoLogon</tabstop> + <tabstop>buttonRegister</tabstop> + <tabstop>optionOverrideServer</tabstop> + <tabstop>edtServerAddress</tabstop> + <tabstop>sbxServerPort</tabstop> + <tabstop>encodingCombo</tabstop> + <tabstop>rbAllowAll</tabstop> + <tabstop>rbAllowMyContacts</tabstop> + <tabstop>rbAllowPerimtList</tabstop> + <tabstop>rbBlockAll</tabstop> + <tabstop>rbBlockAIM</tabstop> + <tabstop>rbBlockDenyList</tabstop> +</tabstops> +<layoutdefaults spacing="6" margin="11"/> +<includehints> + <includehint>kopetepasswordwidget.h</includehint> +</includehints> +</UI> diff --git a/kopete/protocols/oscar/aim/ui/aimeditaccountwidget.cpp b/kopete/protocols/oscar/aim/ui/aimeditaccountwidget.cpp new file mode 100644 index 00000000..e3c1f62b --- /dev/null +++ b/kopete/protocols/oscar/aim/ui/aimeditaccountwidget.cpp @@ -0,0 +1,172 @@ +#include "aimeditaccountwidget.h" +#include "aimeditaccountui.h" + +#include <tqlayout.h> +#include <tqcheckbox.h> +#include <tqpushbutton.h> +#include <tqradiobutton.h> +#include <tqlineedit.h> +#include <tqspinbox.h> + +#include <kdebug.h> +#include <krun.h> +#include <kpassdlg.h> +#include <tdeconfig.h> + +#include "kopetepassword.h" +#include "kopetepasswordwidget.h" + +#include "aimprotocol.h" +#include "aimaccount.h" + +AIMEditAccountWidget::AIMEditAccountWidget( AIMProtocol *protocol, + Kopete::Account *account, TQWidget *parent, const char *name ) + : TQWidget( parent, name ), KopeteEditAccountWidget( account ) +{ + //kdDebug(14152) << k_funcinfo << "Called." << endl; + + mAccount = dynamic_cast<AIMAccount*>( account ); + mProtocol = protocol; + + // create the gui (generated from a .ui file) + ( new TQVBoxLayout( this ) )->setAutoAdd( true ); + mGui = new aimEditAccountUI( this, "AIMEditAccountWidget::mGui" ); + + // Read in the settings from the account if it exists + if ( mAccount ) + { + mGui->mPasswordWidget->load( &mAccount->password() ); + mGui->edtAccountId->setText( account->accountId() ); + //Remove me after we can change Account IDs (Matt) + mGui->edtAccountId->setDisabled( true ); + mGui->mAutoLogon->setChecked( account->excludeConnect() ); + TQString serverEntry = account->configGroup()->readEntry( "Server", "login.oscar.aol.com" ); + int portEntry = account->configGroup()->readNumEntry( "Port", 5190 ); + if ( serverEntry != "login.oscar.aol.com" || portEntry != 5190 ) + mGui->optionOverrideServer->setChecked( true ); + else + mGui->optionOverrideServer->setChecked( false ); + + mGui->edtServerAddress->setText( serverEntry ); + mGui->sbxServerPort->setValue( portEntry ); + + using namespace AIM::PrivacySettings; + + int privacySetting = mAccount->configGroup()->readNumEntry( "PrivacySetting", AllowAll ); + switch( privacySetting ) + { + case AllowAll: + mGui->rbAllowAll->setChecked( true ); + break; + case AllowMyContacts: + mGui->rbAllowMyContacts->setChecked( true ); + break; + case AllowPremitList: + mGui->rbAllowPerimtList->setChecked( true ); + break; + case BlockAll: + mGui->rbBlockAll->setChecked( true ); + break; + case BlockAIM: + mGui->rbBlockAIM->setChecked( true ); + break; + case BlockDenyList: + mGui->rbBlockDenyList->setChecked( true ); + break; + default: + mGui->rbAllowAll->setChecked( true ); + } + + // Global Identity + mGui->mGlobalIdentity->setChecked( account->configGroup()->readBoolEntry("ExcludeGlobalIdentity", false) ); + } + TQObject::connect( mGui->buttonRegister, TQT_SIGNAL( clicked() ), this, TQT_SLOT( slotOpenRegister() ) ); + + /* Set tab order to password custom widget correctly */ + TQWidget::setTabOrder( mGui->edtAccountId, mGui->mPasswordWidget->mRemembered ); + TQWidget::setTabOrder( mGui->mPasswordWidget->mRemembered, mGui->mPasswordWidget->mPassword ); + TQWidget::setTabOrder( mGui->mPasswordWidget->mPassword, mGui->mAutoLogon ); +} + +AIMEditAccountWidget::~AIMEditAccountWidget() +{} + +Kopete::Account *AIMEditAccountWidget::apply() +{ + kdDebug( 14152 ) << k_funcinfo << "Called." << endl; + + // If this is a new account, create it + if ( !mAccount ) + { + kdDebug( 14152 ) << k_funcinfo << "creating a new account" << endl; + TQString newId = mGui->edtAccountId->text(); + mAccount = new AIMAccount( mProtocol, newId ); + } + + mGui->mPasswordWidget->save( &mAccount->password() ); + + mAccount->setExcludeConnect( mGui->mAutoLogon->isChecked() ); // save the autologon choice + if ( mGui->optionOverrideServer->isChecked() ) + { + static_cast<OscarAccount *>( mAccount )->setServerAddress( mGui->edtServerAddress->text() ); + static_cast<OscarAccount *>( mAccount )->setServerPort( mGui->sbxServerPort->value() ); + } + else + { + static_cast<OscarAccount *>( mAccount )->setServerAddress( "login.oscar.aol.com" ); + static_cast<OscarAccount *>( mAccount )->setServerPort( 5190 ); + } + + using namespace AIM::PrivacySettings; + int privacySetting = AllowAll; + + if ( mGui->rbAllowAll->isChecked() ) + privacySetting = AllowAll; + else if ( mGui->rbAllowMyContacts->isChecked() ) + privacySetting = AllowMyContacts; + else if ( mGui->rbAllowPerimtList->isChecked() ) + privacySetting = AllowPremitList; + else if ( mGui->rbBlockAll->isChecked() ) + privacySetting = BlockAll; + else if ( mGui->rbBlockAIM->isChecked() ) + privacySetting = BlockAIM; + else if ( mGui->rbBlockDenyList->isChecked() ) + privacySetting = BlockDenyList; + + mAccount->configGroup()->writeEntry( "PrivacySetting", privacySetting ); + mAccount->setPrivacySettings( privacySetting ); + + // Global Identity + mAccount->configGroup()->writeEntry( "ExcludeGlobalIdentity", mGui->mGlobalIdentity->isChecked() ); + return mAccount; +} + +bool AIMEditAccountWidget::validateData() +{ + //kdDebug(14152) << k_funcinfo << "Called." << endl; + + TQString userName = mGui->edtAccountId->text(); + TQString server = mGui->edtServerAddress->text(); + int port = mGui->sbxServerPort->value(); + + if ( userName.length() < 1 ) + return false; + + if ( port < 1 ) + return false; + + if ( server.length() < 1 ) + return false; + + // Seems good to me + //kdDebug(14152) << k_funcinfo << "Account data validated successfully." << endl; + return true; +} + +void AIMEditAccountWidget::slotOpenRegister() +{ + KRun::runURL( "http://my.screenname.aol.com/_cqr/login/login.psp?siteId=snshomepage&mcState=initialized&createSn=1", "text/html" ); +} + +#include "aimeditaccountwidget.moc" +// vim: set noet ts=4 sts=4 sw=4: diff --git a/kopete/protocols/oscar/aim/ui/aimeditaccountwidget.h b/kopete/protocols/oscar/aim/ui/aimeditaccountwidget.h new file mode 100644 index 00000000..6ccaceb5 --- /dev/null +++ b/kopete/protocols/oscar/aim/ui/aimeditaccountwidget.h @@ -0,0 +1,59 @@ +/* + AIMeditaccountwidget.h - AIM Account Widget + + Copyright (c) 2003 by Chris TenHarmsel <tenharmsel@staticmethod.net> + + Kopete (c) 2003 by the Kopete developers <kopete-devel@kde.org> + + ************************************************************************* + * * + * 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. * + * * + ************************************************************************* +*/ + + +#ifndef AIMEDITACCOUNTWIDGET_H +#define AIMEDITACCOUNTWIDGET_H + +#include <tqwidget.h> +#include "editaccountwidget.h" +/** + * @author Chris TenHarmsel <tenharmsel@staticmethod.net> + */ + +namespace Kopete +{ +class Account; +} + +class AIMAccount; +class AIMProtocol; +class aimEditAccountUI; + +class AIMEditAccountWidget : public TQWidget, public KopeteEditAccountWidget +{ +Q_OBJECT + + +public: + AIMEditAccountWidget(AIMProtocol *protocol, Kopete::Account *account, + TQWidget *parent=0, const char *name=0); + virtual ~AIMEditAccountWidget(); + + virtual bool validateData(); + virtual Kopete::Account *apply(); + +private slots: + void slotOpenRegister(); + +protected: + AIMAccount *mAccount; + AIMProtocol *mProtocol; + aimEditAccountUI *mGui; +}; +#endif +//kate: tab-width 4; indent-mode csands; diff --git a/kopete/protocols/oscar/aim/ui/aiminfobase.ui b/kopete/protocols/oscar/aim/ui/aiminfobase.ui new file mode 100644 index 00000000..188e4aad --- /dev/null +++ b/kopete/protocols/oscar/aim/ui/aiminfobase.ui @@ -0,0 +1,246 @@ +<!DOCTYPE UI><UI version="3.1" stdsetdef="1"> +<class>AIMUserInfoWidget</class> +<widget class="TQWidget"> + <property name="name"> + <cstring>AIMUserInfoWidget</cstring> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>360</width> + <height>408</height> + </rect> + </property> + <property name="minimumSize"> + <size> + <width>360</width> + <height>400</height> + </size> + </property> + <property name="layoutMargin" stdset="0"> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <widget class="TQLayoutWidget"> + <property name="name"> + <cstring>layout9</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="TQLabel"> + <property name="name"> + <cstring>lblNickName</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>4</hsizetype> + <vsizetype>4</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Nickname:</string> + </property> + </widget> + <widget class="TQLineEdit"> + <property name="name"> + <cstring>txtNickName</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + </widget> + <widget class="TQLabel"> + <property name="name"> + <cstring>lblScreenName</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>4</hsizetype> + <vsizetype>4</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Screen name:</string> + </property> + </widget> + <widget class="TQLineEdit"> + <property name="name"> + <cstring>txtScreenName</cstring> + </property> + <property name="readOnly"> + <bool>true</bool> + </property> + </widget> + </hbox> + </widget> + <widget class="TQLayoutWidget"> + <property name="name"> + <cstring>layout10</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="TQLabel"> + <property name="name"> + <cstring>lblWarnLevel</cstring> + </property> + <property name="text"> + <string>Warning level:</string> + </property> + </widget> + <widget class="TQLineEdit"> + <property name="name"> + <cstring>txtWarnLevel</cstring> + </property> + <property name="readOnly"> + <bool>true</bool> + </property> + </widget> + <widget class="TQLabel"> + <property name="name"> + <cstring>lblIdleTime</cstring> + </property> + <property name="text"> + <string>Idle minutes:</string> + </property> + </widget> + <widget class="TQLineEdit"> + <property name="name"> + <cstring>txtIdleTime</cstring> + </property> + <property name="readOnly"> + <bool>true</bool> + </property> + </widget> + </hbox> + </widget> + <widget class="TQLayoutWidget"> + <property name="name"> + <cstring>layout11</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="TQLabel"> + <property name="name"> + <cstring>lblOnlineSince</cstring> + </property> + <property name="text"> + <string>Online since:</string> + </property> + </widget> + <widget class="TQLineEdit"> + <property name="name"> + <cstring>txtOnlineSince</cstring> + </property> + <property name="readOnly"> + <bool>true</bool> + </property> + </widget> + </hbox> + </widget> + <widget class="TQLabel"> + <property name="name"> + <cstring>lblAwayMessage</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>5</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Away message:</string> + </property> + <property name="alignment"> + <set>AlignTop</set> + </property> + </widget> + <widget class="KTextBrowser"> + <property name="name"> + <cstring>txtAwayMessage</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>5</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="textFormat"> + <enum>AutoText</enum> + </property> + </widget> + <widget class="TQLabel"> + <property name="name"> + <cstring>textLabel1</cstring> + </property> + <property name="text"> + <string>Profile:</string> + </property> + </widget> + <widget class="TQFrame"> + <property name="name"> + <cstring>userInfoFrame</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>7</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>64</width> + <height>16</height> + </size> + </property> + <property name="frameShape"> + <enum>NoFrame</enum> + </property> + <property name="frameShadow"> + <enum>Plain</enum> + </property> + <property name="lineWidth"> + <number>0</number> + </property> + </widget> + </vbox> +</widget> +<tabstops> + <tabstop>txtNickName</tabstop> + <tabstop>txtScreenName</tabstop> + <tabstop>txtWarnLevel</tabstop> + <tabstop>txtIdleTime</tabstop> + <tabstop>txtOnlineSince</tabstop> + <tabstop>txtAwayMessage</tabstop> +</tabstops> +<layoutdefaults spacing="6" margin="11"/> +<includehints> + <includehint>ktextbrowser.h</includehint> +</includehints> +</UI> diff --git a/kopete/protocols/oscar/aim/ui/aimjoinchatbase.ui b/kopete/protocols/oscar/aim/ui/aimjoinchatbase.ui new file mode 100644 index 00000000..5b2d084b --- /dev/null +++ b/kopete/protocols/oscar/aim/ui/aimjoinchatbase.ui @@ -0,0 +1,124 @@ +<!DOCTYPE UI><UI version="3.3" stdsetdef="1"> +<class>AIMJoinChatBase</class> +<widget class="TQWidget"> + <property name="name"> + <cstring>AIMJoinChatBase</cstring> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>343</width> + <height>99</height> + </rect> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <widget class="TQLabel" row="0" column="0" rowspan="1" colspan="3"> + <property name="name"> + <cstring>textLabel3</cstring> + </property> + <property name="text"> + <string>Please enter the name of the chat room you wish to join.</string> + </property> + </widget> + <spacer row="1" column="0"> + <property name="name"> + <cstring>spacer4</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Fixed</enum> + </property> + <property name="sizeHint"> + <size> + <width>20</width> + <height>16</height> + </size> + </property> + </spacer> + <spacer row="2" column="0"> + <property name="name"> + <cstring>spacer3</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Maximum</enum> + </property> + <property name="sizeHint"> + <size> + <width>60</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="TQLabel" row="2" column="1"> + <property name="name"> + <cstring>textLabel1</cstring> + </property> + <property name="text"> + <string>Room &name:</string> + </property> + <property name="buddy" stdset="0"> + <cstring>roomName</cstring> + </property> + </widget> + <widget class="TQLabel" row="3" column="1"> + <property name="name"> + <cstring>textLabel2</cstring> + </property> + <property name="text"> + <string>E&xchange:</string> + </property> + <property name="buddy" stdset="0"> + <cstring>exchange</cstring> + </property> + </widget> + <widget class="TQLineEdit" row="2" column="2"> + <property name="name"> + <cstring>roomName</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + </widget> + <widget class="TQComboBox" row="3" column="2"> + <property name="name"> + <cstring>exchange</cstring> + </property> + </widget> + <spacer row="4" column="2"> + <property name="name"> + <cstring>spacer2</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>20</width> + <height>16</height> + </size> + </property> + </spacer> + </grid> +</widget> +<layoutdefaults spacing="6" margin="11"/> +</UI> |