~ubuntu-branches/ubuntu/quantal/psi/quantal

« back to all changes in this revision

Viewing changes to src/options/opt_advanced.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Jan Niehusmann
  • Date: 2005-01-10 17:41:43 UTC
  • mfrom: (1.2.1 upstream) (2.1.2 hoary)
  • Revision ID: james.westby@ubuntu.com-20050110174143-ltocv5zapl6blf5d
Tags: 0.9.3-1
* New upstream release
* Cleaned up debian/rules (some things are done by upstream Makefiles now)
* Fixed some lintian warnings:
  - removed executable bit from some .png files
  - moved psi.desktop to /usr/share/applications
* Updated menu files

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "opt_advanced.h"
 
2
#include "common.h"
 
3
#include "iconwidget.h"
 
4
 
 
5
#include <qwhatsthis.h>
 
6
#include <qcheckbox.h>
 
7
#include <qcombobox.h>
 
8
#include <qbuttongroup.h>
 
9
#include <qradiobutton.h>
 
10
 
 
11
#include "opt_advanced-ui.h"
 
12
 
 
13
//----------------------------------------------------------------------------
 
14
// OptionsTabAdvanced
 
15
//----------------------------------------------------------------------------
 
16
 
 
17
OptionsTabAdvanced::OptionsTabAdvanced(QObject *parent)
 
18
: OptionsTab(parent, "advanced", "", tr("Advanced"), tr("Options for advanced users"), "psi/advanced")
 
19
{
 
20
        w = 0;
 
21
}
 
22
 
 
23
OptionsTabAdvanced::~OptionsTabAdvanced()
 
24
{
 
25
}
 
26
 
 
27
QWidget *OptionsTabAdvanced::widget()
 
28
{
 
29
        if ( w )
 
30
                return 0;
 
31
 
 
32
        w = new OptAdvancedUI();
 
33
        OptAdvancedUI *d = (OptAdvancedUI *)w;
 
34
 
 
35
        QWhatsThis::add(d->ck_messageevents,
 
36
                tr("Enables the sending and requesting of message events such as "
 
37
                "'Contact is Typing', ..."));
 
38
        QWhatsThis::add(d->ck_singleclick,
 
39
                tr("Normally, a double-click on a contact will invoke the default action."
 
40
                "  Check this option if you'd rather invoke with a single-click."));
 
41
        QWhatsThis::add(d->ck_jidComplete,
 
42
                tr("Enables as-you-type JID autocompletion in message dialog."));
 
43
        QWhatsThis::add(d->ck_grabUrls,
 
44
                tr("Automatically attaches URLs from clipboard to the messages when enabled"));
 
45
        QWhatsThis::add(d->cb_incomingAs,
 
46
                tr("<P>Specifies how to treat incoming events:</P>"
 
47
                "<P><B>Normal</B> - messages come as messages, chats come as chats.</P>"
 
48
                "<P><B>Messages</B> - All messages/chats come as messages, no matter what their original form was.</P>"
 
49
                "<P><B>Chats</B> - All messages/chats come as chats, no matter what their original form was.</P>"));
 
50
        QWhatsThis::add(d->ck_showSubjects,
 
51
                tr("Makes Psi show separate subject line in messages. Uncheck this if you want to save some screen space."));
 
52
        QWhatsThis::add(d->ck_showCounter,
 
53
                tr("Makes Psi show message length counter. Check this if you want to know how long is your message. Can be useful when you're using SMS transport."));
 
54
        QWhatsThis::add(d->ck_autoVersion,
 
55
                tr("Automatically sends iq:version query to contact when he becomes online. This allows you to determine what client he is using to get online. Note: results in increased traffic."));
 
56
        QWhatsThis::add(d->ck_autoVCardOnLogin,
 
57
                tr("By default, Psi always checks your vCard on login. If you want to save some traffic, you can uncheck this option."));
 
58
        QWhatsThis::add(d->ck_rosterAnim,
 
59
                tr("Makes Psi animate contact names in the main window when they come online."));
 
60
        QWhatsThis::add(d->ck_scrollTo,
 
61
                tr("Makes Psi scroll the main window automatically so you can see new incoming events."));
 
62
        QWhatsThis::add(d->ck_ignoreHeadline,
 
63
                tr("Makes Psi ignore all incoming \"headline\" events,"
 
64
                " like system-wide news on MSN, announcements, etc."));
 
65
 
 
66
        return w;
 
67
}
 
68
 
 
69
void OptionsTabAdvanced::applyOptions(Options *opt)
 
70
{
 
71
        if ( !w )
 
72
                return;
 
73
 
 
74
        OptAdvancedUI *d = (OptAdvancedUI *)w;
 
75
 
 
76
        opt->messageEvents = d->ck_messageevents->isChecked();
 
77
        opt->singleclick = d->ck_singleclick->isChecked();
 
78
        opt->jidComplete = d->ck_jidComplete->isChecked();
 
79
        opt->grabUrls    = d->ck_grabUrls->isChecked();
 
80
        opt->incomingAs = d->cb_incomingAs->currentItem();
 
81
        opt->showSubjects = d->ck_showSubjects->isChecked();
 
82
        opt->showCounter = d->ck_showCounter->isChecked();
 
83
        opt->autoVersion = d->ck_autoVersion->isChecked();
 
84
        opt->autoVCardOnLogin = d->ck_autoVCardOnLogin->isChecked();
 
85
        opt->rosterAnim = d->ck_rosterAnim->isChecked();
 
86
        opt->scrollTo = d->ck_scrollTo->isChecked();
 
87
        opt->ignoreHeadline = d->ck_ignoreHeadline->isChecked();
 
88
}
 
89
 
 
90
void OptionsTabAdvanced::restoreOptions(const Options *opt)
 
91
{
 
92
        if ( !w )
 
93
                return;
 
94
 
 
95
        OptAdvancedUI *d = (OptAdvancedUI *)w;
 
96
 
 
97
        d->ck_messageevents->setChecked( opt->messageEvents );
 
98
        d->ck_singleclick->setChecked( opt->singleclick );
 
99
        d->ck_jidComplete->setChecked( opt->jidComplete );
 
100
        d->ck_grabUrls->setChecked( opt->grabUrls );
 
101
        d->cb_incomingAs->setCurrentItem( opt->incomingAs );
 
102
        d->ck_showSubjects->setChecked( opt->showSubjects );
 
103
        d->ck_showCounter->setChecked( opt->showCounter );
 
104
        d->ck_autoVersion->setChecked( opt->autoVersion );
 
105
        d->ck_autoVCardOnLogin->setChecked( opt->autoVCardOnLogin );
 
106
        d->ck_rosterAnim->setChecked( opt->rosterAnim );
 
107
        d->ck_scrollTo->setChecked( opt->scrollTo );
 
108
        d->ck_ignoreHeadline->setChecked( opt->ignoreHeadline );
 
109
}