Files
ResInsight/ApplicationLibCode/UserInterface/RiuRecentFileActionProvider.h
T
Magne Sjaastad 5d65057d6f RiuRecentFileActionProvider: Track last used project file via recent file list
Remove lastUsedProjectFileName from RiaPreferences and store it via the
existing recentFileList QSettings key. loadProject and saveProjectAs now
call addToRecentFiles instead of writing to preferences. A new static
method lastUsedProjectFileName() on RiuRecentFileActionProvider returns
the most recent .rsp entry from the list.
2026-03-11 12:46:43 +01:00

62 lines
1.7 KiB
C++

/////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) Statoil ASA 2016
//
// ResInsight is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.
//
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
// for more details.
//
/////////////////////////////////////////////////////////////////////////////////
#pragma once
#include <QObject>
#include <QString>
#include <vector>
class QAction;
//==================================================================================================
//
//
//
//==================================================================================================
class RiuRecentFileActionProvider : public QObject
{
Q_OBJECT
public:
explicit RiuRecentFileActionProvider( int maxActionCount = 9 );
~RiuRecentFileActionProvider() override;
void addFileName( const QString& fileName );
std::vector<QAction*> actions() const;
static QString lastUsedProjectFileName();
private slots:
void slotOpenRecentFile();
private:
void createActions();
void updateActions();
void removeFileName( const QString& fileName );
static QString registryKey();
private:
int m_maxActionCount;
std::vector<QAction*> m_recentFileActions;
QAction* m_separatorAction;
};