File indexing completed on 2024-04-28 04:58:38

0001 /*  This file is part of the KDE project
0002     SPDX-FileCopyrightText: 2008 Eduardo Robles Elvira <edulix@gmail.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #ifndef __konq_sessiondlg_h__
0008 #define __konq_sessiondlg_h__
0009 
0010 #include <QDialog>
0011 
0012 #include <QMap>
0013 #include <QString>
0014 #include <QUrl>
0015 
0016 class KonqViewManager;
0017 class KonqMainWindow;
0018 
0019 /**
0020  * This is the konqueror sessions administration dialog, which allows the user
0021  * to add, modify, rename and delete konqueror sessions.
0022  */
0023 class KonqSessionDlg : public QDialog
0024 {
0025     Q_OBJECT
0026 public:
0027     explicit KonqSessionDlg(KonqViewManager *manager, QWidget *parent = nullptr);
0028     ~KonqSessionDlg() override;
0029 
0030 protected Q_SLOTS:
0031     void slotOpen();
0032     void slotRename(QUrl dirpathTo = QUrl());
0033     void slotNew();
0034     void slotDelete();
0035     void slotSave();
0036     void slotSelectionChanged();
0037 
0038 private:
0039     class KonqSessionDlgPrivate;
0040     KonqSessionDlgPrivate *const d;
0041     void loadAllSessions(const QString & = QString());
0042 };
0043 
0044 class KonqNewSessionDlg : public QDialog
0045 {
0046     Q_OBJECT
0047 public:
0048     enum Mode { NewFile, ReplaceFile };
0049     explicit KonqNewSessionDlg(QWidget *parent, KonqMainWindow *mainWindow, QString sessionName = QString(), Mode mode = NewFile);
0050     ~KonqNewSessionDlg() override;
0051 
0052 protected Q_SLOTS:
0053     void slotAddSession();
0054     void slotTextChanged(const QString &text);
0055 private:
0056     class KonqNewSessionDlgPrivate;
0057     KonqNewSessionDlgPrivate *const d;
0058 };
0059 
0060 #endif