X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fbufferviewsettingspage.h;h=bf081777897d064cb009189c58ab6ad4c792a911;hp=0c7335870f8e237f309cbac0787536df47027bfb;hb=997a62b68d7469a93f373476dd955c44eb051be0;hpb=ad801015af3afad53e0b245afc3a2214373a1b44 diff --git a/src/qtui/settingspages/bufferviewsettingspage.h b/src/qtui/settingspages/bufferviewsettingspage.h index 0c733587..bf081777 100644 --- a/src/qtui/settingspages/bufferviewsettingspage.h +++ b/src/qtui/settingspages/bufferviewsettingspage.h @@ -25,6 +25,8 @@ #include "ui_bufferviewsettingspage.h" #include "ui_buffervieweditdlg.h" +#include + class BufferViewConfig; class BufferViewSettingsPage : public SettingsPage { @@ -44,29 +46,38 @@ private slots: void addBufferView(BufferViewConfig *config); void addBufferView(int bufferViewId); + void bufferViewDeleted(); 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(); private: Ui::BufferViewSettingsPage ui; - - // mappings for bufferViewId to position in the list and vice versa - QHash _viewToListPos; - QHash _listPosToView; + bool _ignoreWidgetChanges; // list of bufferviews to create QList _newBufferViews; + // list of buferViews to delete + QList _deleteBufferViews; + // Hash of pointers to cloned bufferViewConfigs holding the changes QHash _changedBufferViews; int listPos(BufferViewConfig *config); - int bufferViewId(int listPos); + BufferViewConfig *bufferView(int listPos); BufferViewConfig *cloneConfig(BufferViewConfig *config); BufferViewConfig *configForDisplay(BufferViewConfig *config); + + void loadConfig(BufferViewConfig *config); + void saveConfig(BufferViewConfig *config); + bool testHasChanged(); };