Only enable sender prefix option if the core supports the feature
[quassel.git] / src / qtui / settingspages / chatviewsettingspage.cpp
1 /***************************************************************************
2  *   Copyright (C) 2005-2016 by the Quassel Project                        *
3  *   devel@quassel-irc.org                                                 *
4  *                                                                         *
5  *   This program is free software; you can redistribute it and/or modify  *
6  *   it under the terms of the GNU General Public License as published by  *
7  *   the Free Software Foundation; either version 2 of the License, or     *
8  *   (at your option) version 3.                                           *
9  *                                                                         *
10  *   This program is distributed in the hope that it will be useful,       *
11  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
12  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
13  *   GNU General Public License for more details.                          *
14  *                                                                         *
15  *   You should have received a copy of the GNU General Public License     *
16  *   along with this program; if not, write to the                         *
17  *   Free Software Foundation, Inc.,                                       *
18  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
19  ***************************************************************************/
20
21 #include "chatviewsettingspage.h"
22 #include "client.h"
23 #include "qtui.h"
24 #include "qtuistyle.h"
25
26 ChatViewSettingsPage::ChatViewSettingsPage(QWidget *parent)
27     : SettingsPage(tr("Interface"), tr("Chat View"), parent)
28 {
29     ui.setupUi(this);
30
31 #if !defined HAVE_WEBKIT && !defined HAVE_WEBENGINE
32     ui.showWebPreview->hide();
33     ui.showWebPreview->setEnabled(false);
34 #endif
35
36     // FIXME remove with protocol v11
37     if (!Client::coreFeatures().testFlag(Quassel::SynchronizedMarkerLine)) {
38         ui.autoMarkerLine->setEnabled(false);
39         ui.autoMarkerLine->setChecked(true);
40         ui.autoMarkerLine->setToolTip(tr("You need at least version 0.6 of Quassel Core to use this feature"));
41     }
42     if (!Client::coreFeatures().testFlag(Quassel::Feature::CoreSideHighlights)) {
43         ui.showSenderPrefixes->setEnabled(false);
44         ui.showSenderPrefixes->setToolTip(tr("You need at least version 0.13 of Quassel Core to use this feature"));
45     }
46
47     initAutoWidgets();
48 }
49
50
51 void ChatViewSettingsPage::save()
52 {
53     // Save the general settings
54     SettingsPage::save();
55     // Update the stylesheet in case fonts are changed
56     QtUi::style()->generateSettingsQss();
57     QtUi::style()->reload();
58 }