File indexing completed on 2024-05-26 04:30:08

0001 /*
0002  *  SPDX-FileCopyrightText: 2018 Jouni Pentikäinen <joupent@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #ifndef KISSESSIONMANAGERDIALOG_H
0008 #define KISSESSIONMANAGERDIALOG_H
0009 
0010 #include <QDialog>
0011 
0012 
0013 #include "ui_wdgsessionmanager.h"
0014 
0015 #include <KisSessionResource.h>
0016 
0017 class KisResourceModel;
0018 
0019 class KisSessionManagerDialog : public QDialog, Ui::DlgSessionManager
0020 {
0021     Q_OBJECT
0022 
0023 public:
0024     explicit KisSessionManagerDialog(QWidget *parent = nullptr);
0025     
0026 protected:
0027     bool event(QEvent *event) override;
0028 
0029 private Q_SLOTS:
0030     void slotNewSession();
0031     void slotRenameSession();
0032     void slotSwitchSession();
0033     void slotDeleteSession();
0034     void slotSessionDoubleClicked(QModelIndex item);
0035 
0036     void slotClose();
0037 
0038     void slotModelAboutToBeReset(QModelIndex);
0039     void slotModelReset();
0040 
0041     void slotModelSelectionChanged(QItemSelection selected, QItemSelection deselected);
0042 
0043 private:
0044     void updateButtons();
0045 
0046     KisSessionResourceSP getSelectedSession() const;
0047 
0048     int m_lastSessionId;
0049 
0050     KisResourceModel* m_model;
0051     
0052     static int refreshEventType;
0053 };
0054 
0055 #endif