source: psi/trunk/src/options/opt_advanced.cpp

Last change on this file was 2, checked in by dmik, 19 years ago

Imported original Psi 0.10 sources from Affinix

File size: 4.6 KB
Line 
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
17OptionsTabAdvanced::OptionsTabAdvanced(QObject *parent)
18: OptionsTab(parent, "advanced", "", tr("Advanced"), tr("Options for advanced users"), "psi/advanced")
19{
20 w = 0;
21}
22
23OptionsTabAdvanced::~OptionsTabAdvanced()
24{
25}
26
27QWidget *OptionsTabAdvanced::widget()
28{
29 if ( w )
30 return 0;
31
32 w = new OptAdvancedUI();
33 OptAdvancedUI *d = (OptAdvancedUI *)w;
34
35#ifdef Q_WS_X11 // auto-copy is a built-in feature on linux, we don't want user to use our own one
36 d->ck_autocopy->hide();
37#endif
38
39 QWhatsThis::add(d->ck_messageevents,
40 tr("Enables the sending and requesting of message events such as "
41 "'Contact is Typing', ..."));
42 QWhatsThis::add(d->ck_autocopy,
43 tr("Check this option if you want the selected text in incoming messages and chat log to be automatically copied to clipboard"));
44 QWhatsThis::add(d->ck_singleclick,
45 tr("Normally, a double-click on a contact will invoke the default action."
46 " Check this option if you'd rather invoke with a single-click."));
47 QWhatsThis::add(d->ck_jidComplete,
48 tr("Enables as-you-type JID autocompletion in message dialog."));
49 QWhatsThis::add(d->ck_grabUrls,
50 tr("Automatically attaches URLs from clipboard to the messages when enabled"));
51 QWhatsThis::add(d->cb_incomingAs,
52 tr("<P>Specifies how to treat incoming events:</P>"
53 "<P><B>Normal</B> - messages come as messages, chats come as chats.</P>"
54 "<P><B>Messages</B> - All messages/chats come as messages, no matter what their original form was.</P>"
55 "<P><B>Chats</B> - All messages/chats come as chats, no matter what their original form was.</P>"));
56 QWhatsThis::add(d->ck_showSubjects,
57 tr("Makes Psi show separate subject line in messages. Uncheck this if you want to save some screen space."));
58 QWhatsThis::add(d->ck_showCounter,
59 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."));
60 QWhatsThis::add(d->ck_autoVersion,
61 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."));
62 QWhatsThis::add(d->ck_autoVCardOnLogin,
63 tr("By default, Psi always checks your vCard on login. If you want to save some traffic, you can uncheck this option."));
64 QWhatsThis::add(d->ck_rosterAnim,
65 tr("Makes Psi animate contact names in the main window when they come online."));
66 QWhatsThis::add(d->ck_scrollTo,
67 tr("Makes Psi scroll the main window automatically so you can see new incoming events."));
68 QWhatsThis::add(d->ck_ignoreHeadline,
69 tr("Makes Psi ignore all incoming \"headline\" events,"
70 " like system-wide news on MSN, announcements, etc."));
71
72 return w;
73}
74
75void OptionsTabAdvanced::applyOptions(Options *opt)
76{
77 if ( !w )
78 return;
79
80 OptAdvancedUI *d = (OptAdvancedUI *)w;
81
82 opt->messageEvents = d->ck_messageevents->isChecked();
83 opt->autoCopy = d->ck_autocopy->isChecked();
84 opt->singleclick = d->ck_singleclick->isChecked();
85 opt->jidComplete = d->ck_jidComplete->isChecked();
86 opt->grabUrls = d->ck_grabUrls->isChecked();
87 opt->incomingAs = d->cb_incomingAs->currentItem();
88 opt->showSubjects = d->ck_showSubjects->isChecked();
89 opt->showCounter = d->ck_showCounter->isChecked();
90 opt->autoVersion = d->ck_autoVersion->isChecked();
91 opt->autoVCardOnLogin = d->ck_autoVCardOnLogin->isChecked();
92 opt->rosterAnim = d->ck_rosterAnim->isChecked();
93 opt->scrollTo = d->ck_scrollTo->isChecked();
94 opt->ignoreHeadline = d->ck_ignoreHeadline->isChecked();
95}
96
97void OptionsTabAdvanced::restoreOptions(const Options *opt)
98{
99 if ( !w )
100 return;
101
102 OptAdvancedUI *d = (OptAdvancedUI *)w;
103
104 d->ck_messageevents->setChecked( opt->messageEvents );
105 d->ck_autocopy->setChecked( opt->autoCopy );
106 d->ck_singleclick->setChecked( opt->singleclick );
107 d->ck_jidComplete->setChecked( opt->jidComplete );
108 d->ck_grabUrls->setChecked( opt->grabUrls );
109 d->cb_incomingAs->setCurrentItem( opt->incomingAs );
110 d->ck_showSubjects->setChecked( opt->showSubjects );
111 d->ck_showCounter->setChecked( opt->showCounter );
112 d->ck_autoVersion->setChecked( opt->autoVersion );
113 d->ck_autoVCardOnLogin->setChecked( opt->autoVCardOnLogin );
114 d->ck_rosterAnim->setChecked( opt->rosterAnim );
115 d->ck_scrollTo->setChecked( opt->scrollTo );
116 d->ck_ignoreHeadline->setChecked( opt->ignoreHeadline );
117}
Note: See TracBrowser for help on using the repository browser.