X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fbufferviewsettingspage.h;h=dbe47d1ac66edfedeeb262c5f6a371915481ba6f;hp=0c7335870f8e237f309cbac0787536df47027bfb;hb=3a3e844f9fcfd12235a0086af75ecd503b621ef4;hpb=26c15c14a067c8709d2e04ef9d8965550dcee52d diff --git a/src/qtui/settingspages/bufferviewsettingspage.h b/src/qtui/settingspages/bufferviewsettingspage.h index 0c733587..dbe47d1a 100644 --- a/src/qtui/settingspages/bufferviewsettingspage.h +++ b/src/qtui/settingspages/bufferviewsettingspage.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel IRC Team * + * Copyright (C) 2005-2018 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -15,81 +15,94 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef BUFFERVIEWSETTINGSPAGE_H -#define BUFFERVIEWSETTINGSPAGE_H +#pragma once #include "settingspage.h" #include "ui_bufferviewsettingspage.h" #include "ui_buffervieweditdlg.h" +#include + class BufferViewConfig; -class BufferViewSettingsPage : public SettingsPage { - Q_OBJECT +class BufferViewSettingsPage : public SettingsPage +{ + Q_OBJECT public: - BufferViewSettingsPage(QWidget *parent = 0); - ~BufferViewSettingsPage(); + BufferViewSettingsPage(QWidget *parent = nullptr); + ~BufferViewSettingsPage() override; public slots: - void save(); - void load(); - void reset(); + void save() final override; + void load() final override; + void reset(); private slots: - void coreConnectionStateChanged(bool state); + void coreConnectionStateChanged(bool state); + + void addBufferView(BufferViewConfig *config); + void addBufferView(int bufferViewId); + void bufferViewDeleted(); + void newBufferView(const QString &bufferViewName); + void updateBufferView(); + + void enableStatusBuffers(int networkIdx); - void addBufferView(BufferViewConfig *config); - void addBufferView(int bufferViewId); - void newBufferView(const QString &bufferViewName); - void updateBufferView(); + void on_addBufferView_clicked(); + void on_renameBufferView_clicked(); + void on_deleteBufferView_clicked(); + void bufferViewSelectionChanged(const QItemSelection ¤t, const QItemSelection &previous); + + void widgetHasChanged(); - void on_addBufferView_clicked(); - void on_renameBufferView_clicked(); - private: - Ui::BufferViewSettingsPage ui; + Ui::BufferViewSettingsPage ui; + bool _ignoreWidgetChanges; + bool _useBufferViewHint; + int _bufferViewHint; + + // list of bufferviews to create + QList _newBufferViews; - // mappings for bufferViewId to position in the list and vice versa - QHash _viewToListPos; - QHash _listPosToView; + // list of buferViews to delete + QList _deleteBufferViews; - // list of bufferviews to create - QList _newBufferViews; + // Hash of pointers to cloned bufferViewConfigs holding the changes + QHash _changedBufferViews; - // Hash of pointers to cloned bufferViewConfigs holding the changes - QHash _changedBufferViews; + int listPos(BufferViewConfig *config); + BufferViewConfig *bufferView(int listPos); + bool selectBufferViewById(int bufferViewId); + BufferViewConfig *cloneConfig(BufferViewConfig *config); + BufferViewConfig *configForDisplay(BufferViewConfig *config); - int listPos(BufferViewConfig *config); - int bufferViewId(int listPos); - BufferViewConfig *cloneConfig(BufferViewConfig *config); - BufferViewConfig *configForDisplay(BufferViewConfig *config); + void loadConfig(BufferViewConfig *config); + void saveConfig(BufferViewConfig *config); + bool testHasChanged(); }; /************************************************************************** * BufferViewEditDlg *************************************************************************/ -class BufferViewEditDlg : public QDialog { - Q_OBJECT +class BufferViewEditDlg : public QDialog +{ + Q_OBJECT public: - BufferViewEditDlg(const QString &old, const QStringList &existing = QStringList(), QWidget *parent = 0); + BufferViewEditDlg(const QString &old, QStringList existing = QStringList(), QWidget *parent = nullptr); - inline QString bufferViewName() const { return ui.bufferViewEdit->text(); } + inline QString bufferViewName() const { return ui.bufferViewEdit->text(); } private slots: - void on_bufferViewEdit_textChanged(const QString &); - + void on_bufferViewEdit_textChanged(const QString &); + private: - Ui::BufferViewEditDlg ui; + Ui::BufferViewEditDlg ui; - QStringList existing; + QStringList existing; }; - - - -#endif // BUFFERVIEWSETTINGSPAGE_H