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 | #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 |
|
---|
75 | void 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 |
|
---|
97 | void 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 | }
|
---|