~ubuntu-branches/ubuntu/wily/psi/wily-proposed

« back to all changes in this revision

Viewing changes to src/options/opt_chat.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Jan Niehusmann
  • Date: 2008-08-28 18:46:52 UTC
  • mfrom: (1.2.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20080828184652-iiik12dl91nq7cdi
Tags: 0.12-2
Uploading to unstable (Closes: Bug#494352)

Show diffs side-by-side

added added

removed removed

Lines of Context:
56
56
        bg_delChats->insert( d->rb_delChatsHour);
57
57
        bg_delChats->insert( d->rb_delChatsDay);
58
58
        bg_delChats->insert( d->rb_delChatsNever);
 
59
        
 
60
        connect(d->ck_tabChats, SIGNAL(toggled(bool)), d->cb_tabGrouping, SLOT(setEnabled(bool)));
59
61
 
60
62
        QWhatsThis::add(d->rb_defActMsg,
61
63
                tr("Make the default action open a normal message window."));
90
92
        return w;
91
93
}
92
94
 
93
 
void OptionsTabChat::applyOptions(Options *opt)
 
95
void OptionsTabChat::applyOptions()
94
96
{
95
97
        if ( !w )
96
98
                return;
97
99
 
98
100
        OptChatUI *d = (OptChatUI *)w;
99
101
 
100
 
        opt->defaultAction   = bg_defAct->buttons().indexOf(bg_defAct->checkedButton());
101
 
        opt->alertOpenChats  = d->ck_alertOpenChats->isChecked();
102
 
        opt->raiseChatWindow = d->ck_raiseChatWindow->isChecked();
103
 
        opt->oldSmallChats       = opt->smallChats;
104
 
        opt->smallChats      = d->ck_smallChats->isChecked();
105
 
        opt->delChats        = bg_delChats->buttons().indexOf( bg_delChats->checkedButton() );
106
 
        opt->useTabs             = d->ck_tabChats->isChecked();
107
 
        opt->chatLineEdit    = d->ck_autoResize->isChecked();
 
102
        PsiOptions::instance()->setOption("options.messages.default-outgoing-message-type", bg_defAct->buttons().indexOf(bg_defAct->checkedButton()) == 0 ? "message" : "chat");
 
103
        PsiOptions::instance()->setOption("options.ui.chat.alert-for-already-open-chats", d->ck_alertOpenChats->isChecked());
 
104
        PsiOptions::instance()->setOption("options.ui.chat.raise-chat-windows-on-new-messages", d->ck_raiseChatWindow->isChecked());
 
105
        PsiOptions::instance()->setOption("options.ui.chat.use-small-chats", d->ck_smallChats->isChecked());
 
106
        
 
107
        QString delafter;
 
108
        switch (bg_delChats->buttons().indexOf( bg_delChats->checkedButton() )) {
 
109
                case 0:
 
110
                        delafter = "instant";
 
111
                        break;
 
112
                case 1:
 
113
                        delafter = "hour";
 
114
                        break;
 
115
                case 2:
 
116
                        delafter = "day";
 
117
                        break;
 
118
                case 3:
 
119
                        delafter = "never";
 
120
                        break;
 
121
        }
 
122
        PsiOptions::instance()->setOption("options.ui.chat.delete-contents-after", delafter);
 
123
        PsiOptions::instance()->setOption("options.ui.tabs.use-tabs", d->ck_tabChats->isChecked());
 
124
        QString tabGrouping;
 
125
        int idx = d->cb_tabGrouping->currentIndex();
 
126
        switch (idx) {
 
127
                case 0:
 
128
                        tabGrouping = "C";
 
129
                        break;
 
130
                case 1:
 
131
                        tabGrouping = "M";
 
132
                        break;
 
133
                case 2:
 
134
                        tabGrouping = "C:M";
 
135
                        break;
 
136
                case 3:
 
137
                        tabGrouping = "CM";
 
138
                        break;
 
139
        }
 
140
        if (!tabGrouping.isEmpty()) {
 
141
                PsiOptions::instance()->setOption("options.ui.tabs.grouping", tabGrouping);
 
142
        } else {
 
143
                if (d->cb_tabGrouping->count() == 5) {
 
144
                        d->cb_tabGrouping->removeItem(4);
 
145
                }
 
146
        }
 
147
        
 
148
        PsiOptions::instance()->setOption("options.ui.chat.use-expanding-line-edit", d->ck_autoResize->isChecked());
108
149
        
109
150
        // Soft return.
110
151
        // Only update this if the value actually changed, or else custom presets
122
163
        }
123
164
}
124
165
 
125
 
void OptionsTabChat::restoreOptions(const Options *opt)
 
166
void OptionsTabChat::restoreOptions()
126
167
{
127
168
        if ( !w )
128
169
                return;
129
170
 
130
171
        OptChatUI *d = (OptChatUI *)w;
131
172
 
132
 
        bg_defAct->buttons()[opt->defaultAction]->setChecked(true);
133
 
        d->ck_alertOpenChats->setChecked( opt->alertOpenChats );
134
 
        d->ck_raiseChatWindow->setChecked( opt->raiseChatWindow );
135
 
        d->ck_smallChats->setChecked( opt->smallChats );
136
 
        d->ck_tabChats->setChecked( opt->useTabs );
137
 
        d->ck_autoResize->setChecked( opt->chatLineEdit );
138
 
        bg_delChats->buttons()[opt->delChats]->setChecked(true);
 
173
        bg_defAct->buttons()[PsiOptions::instance()->getOption("options.messages.default-outgoing-message-type").toString() == "message" ? 0 : 1]->setChecked(true);
 
174
        d->ck_alertOpenChats->setChecked( PsiOptions::instance()->getOption("options.ui.chat.alert-for-already-open-chats").toBool() );
 
175
        d->ck_raiseChatWindow->setChecked( PsiOptions::instance()->getOption("options.ui.chat.raise-chat-windows-on-new-messages").toBool() );
 
176
        d->ck_smallChats->setChecked( PsiOptions::instance()->getOption("options.ui.chat.use-small-chats").toBool() );
 
177
        d->ck_tabChats->setChecked( PsiOptions::instance()->getOption("options.ui.tabs.use-tabs").toBool() );
 
178
        QString tabGrouping = PsiOptions::instance()->getOption("options.ui.tabs.grouping").toString();
 
179
        bool custom = false;
 
180
        if (tabGrouping == "C") {
 
181
                d->cb_tabGrouping->setCurrentIndex(0);
 
182
        } else if (tabGrouping == "M") {
 
183
                d->cb_tabGrouping->setCurrentIndex(1);
 
184
        } else if (tabGrouping == "C:M") {
 
185
                d->cb_tabGrouping->setCurrentIndex(2);
 
186
        } else if (tabGrouping == "CM") {
 
187
                d->cb_tabGrouping->setCurrentIndex(3);
 
188
        } else {
 
189
                if (d->cb_tabGrouping->count() == 5) {
 
190
                        d->cb_tabGrouping->setCurrentIndex(4);
 
191
                } else {
 
192
                        d->cb_tabGrouping->setCurrentIndex(-1);
 
193
                }
 
194
                custom = true;
 
195
        }
 
196
        if (!custom && d->cb_tabGrouping->count() == 5) {
 
197
                d->cb_tabGrouping->removeItem(4);
 
198
        }
 
199
        d->ck_autoResize->setChecked( PsiOptions::instance()->getOption("options.ui.chat.use-expanding-line-edit").toBool() );
 
200
        QString delafter = PsiOptions::instance()->getOption("options.ui.chat.delete-contents-after").toString();
 
201
        if (delafter == "instant") {
 
202
                d->rb_delChatsClose->setChecked(true);
 
203
        } else if (delafter == "hour") {
 
204
                d->rb_delChatsHour->setChecked(true);
 
205
        } else if (delafter == "day") {
 
206
                d->rb_delChatsDay->setChecked(true);
 
207
        } else if (delafter == "never") {
 
208
                d->rb_delChatsNever->setChecked(true);
 
209
        }
139
210
        d->ck_chatSoftReturn->setChecked(ShortcutManager::instance()->shortcuts("chat.send").contains(QKeySequence(Qt::Key_Return)));
140
 
        
141
211
}