#include "opt_roster.h" #include "common.h" #include "iconwidget.h" #include #include #include #include #include #include "opt_roster-ui.h" //---------------------------------------------------------------------------- // OptionsTabRoster //---------------------------------------------------------------------------- OptionsTabRoster::OptionsTabRoster(QObject *parent) : OptionsTab(parent, "roster", "", tr("Roster"), tr("Options for profiling roster window"), "psi/statusmsg") { w = 0; } OptionsTabRoster::~OptionsTabRoster() { } QWidget *OptionsTabRoster::widget() { if ( w ) return 0; w = new OptRosterUI(); OptRosterUI *d = (OptRosterUI *)w; QWhatsThis::add(d->ck_rosterAnim, tr("Makes Psi animate contact names in the main window when they come online.")); QWhatsThis::add(d->ck_singleclick, tr("Normally, a double-click on a contact will invoke the default action." " Check this option if you'd rather invoke with a single-click.")); QWhatsThis::add(d->ck_scrollTo, tr("Makes Psi scroll the main window automatically so you can see new incoming events.")); QWhatsThis::add(d->ck_statusIndicator, tr("Displays an indicator by the contact name if the contact entered a descriptive text status line.")); QWhatsThis::add(d->cb_accountOrderType, tr("

Set order of sorting account items in roster:

" "

Status - sort by status first of all.

" "

Alphabetic order - ignore status.

")); QWhatsThis::add(d->cb_groupOrderType, tr("

Set order of sorting group items in roster:

" "

Status - sort by status first of all.

" "

Alphabetic order - ignore status.

")); QWhatsThis::add(d->cb_contactOrderType, tr("

Set order of sorting contact items in roster:

" "

Status - sort by status first of all.

" "

Alphabetic order - ignore status.

")); QWhatsThis::add(d->ck_useStatusLinebreak, tr("Use new lines characters in shown statuses (shown statuses will be a bit bigger with this).")); QWhatsThis::add(d->ck_showResource, tr("Show contact's resource and priority in roster.")); QWhatsThis::add(d->ck_transportStatus, tr("Show status messages also for transports.")); QWhatsThis::add(d->ck_useSingleLineStatus, tr("Show only single line as contact's status message.")); QWhatsThis::add(d->sb_smChars, tr("Defines maximum number of characters used for viewing status messages in roster")); // QWhatsThis::add(d->sb_smLines, // tr("Defines maximum number of lines used for viewing status messages in roster")); return w; } void OptionsTabRoster::applyOptions(Options *opt) { if ( !w ) return; OptRosterUI *d = (OptRosterUI *)w; opt->rosterAnim = d->ck_rosterAnim->isChecked(); opt->singleclick = d->ck_singleclick->isChecked(); opt->scrollTo = d->ck_scrollTo->isChecked(); opt->clStIndicator = d->ck_statusIndicator->isChecked(); opt->clIconsAtTop = d->ck_iconsAtTop->isChecked(); opt->rosterAccountSortStyle = static_cast(d->cb_accountOrderType->currentItem()); opt->rosterGroupSortStyle = static_cast(d->cb_groupOrderType->currentItem()); opt->rosterContactSortStyle = static_cast(d->cb_contactOrderType->currentItem()); opt->smSingleLine = d->ck_useSingleLineStatus->isChecked(); opt->useStatusLinebreak = d->ck_useStatusLinebreak->isChecked(); opt->clTransportStatus = d->ck_transportStatus->isChecked(); opt->smShowResource = d->ck_showResource->isChecked(); opt->smChars = d->sb_smChars->value(); // opt->smLines = d->sb_smLines->value(); } void OptionsTabRoster::restoreOptions(const Options *opt) { if ( !w ) return; OptRosterUI *d = (OptRosterUI *)w; d->ck_rosterAnim->setChecked( opt->rosterAnim ); d->ck_singleclick->setChecked( opt->singleclick ); d->ck_scrollTo->setChecked( opt->scrollTo ); d->ck_statusIndicator->setChecked( opt->clStIndicator ); d->ck_iconsAtTop->setChecked( opt->clIconsAtTop ); d->cb_accountOrderType->setCurrentItem ( static_cast (opt->rosterAccountSortStyle) ); d->cb_groupOrderType->setCurrentItem ( static_cast (opt->rosterGroupSortStyle) ); d->cb_contactOrderType->setCurrentItem ( static_cast (opt->rosterContactSortStyle) ); d->ck_useSingleLineStatus->setChecked( opt->smSingleLine ); d->ck_useStatusLinebreak->setChecked( opt->useStatusLinebreak ); d->ck_transportStatus->setChecked( opt->clTransportStatus ); d->ck_showResource->setChecked( opt->smShowResource ); d->sb_smChars->setMinValue(0); d->sb_smChars->setMaxValue(1000); d->sb_smChars->setValue( opt->smChars ); // d->sb_smLines->setMinValue(0); // d->sb_smLines->setMaxValue(100); // d->sb_smLines->setValue( opt->smLines ); }