Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/aboutdialog.ui
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string notr="true">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Copyright © 2011-2016 Sebastian Herbord&lt;br/&gt;Copyright © 2016-2025 Mod Organizer 2 Contributors&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
<string notr="true">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Copyright © 2011-2016 Sebastian Herbord&lt;br/&gt;Copyright © 2016-2026 Mod Organizer 2 Contributors&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
Expand Down
19 changes: 19 additions & 0 deletions src/organizercore.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@
#include <string> //for wstring
#include <tuple>
#include <utility>
#include <vector>

#include <libbsarch/bs_archive.h>

Expand Down Expand Up @@ -613,6 +614,24 @@ void OrganizerCore::setCurrentProfile(const QString& profileName)
m_ProfileChanged(oldProfile.get(), m_CurrentProfile.get());
}

QStringList OrganizerCore::profileNames() const
{
QDir profilesDir(m_Settings.paths().profiles());
return profilesDir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot);
}

std::shared_ptr<const MOBase::IProfile>
OrganizerCore::getProfile(const QString& profileName) const
{
QDir profileDir(m_Settings.paths().profiles());
profileDir.cd(profileName);
if (!profileDir.exists()) {
return nullptr;
}

return std::make_shared<Profile>(profileDir, managedGame(), gameFeatures());
}

MOBase::IModRepositoryBridge* OrganizerCore::createNexusBridge() const
{
return new NexusBridge(m_PluginContainer);
Expand Down
6 changes: 6 additions & 0 deletions src/organizercore.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,9 @@ class GameFeatures;
class PluginContainer;
class DirectoryRefresher;

#include <memory>
#include <vector>

namespace MOBase
{
template <typename T>
Expand Down Expand Up @@ -270,6 +273,9 @@ class OrganizerCore : public QObject, public MOBase::IPluginDiagnose
Profile* currentProfile() const { return m_CurrentProfile.get(); }
void setCurrentProfile(const QString& profileName);

QStringList profileNames() const;
std::shared_ptr<const MOBase::IProfile> getProfile(const QString& profileName) const;

std::vector<QString> enabledArchives();

MOBase::Version getVersion() const { return m_Updater.getVersion(); }
Expand Down
19 changes: 19 additions & 0 deletions src/organizerproxy.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#include "downloadmanagerproxy.h"
#include "gamefeaturesproxy.h"
#include "glob_matching.h"
#include "instancemanager.h"
#include "modlistproxy.h"
#include "organizercore.h"
#include "plugincontainer.h"
Expand All @@ -15,6 +16,8 @@
#include <QApplication>
#include <QObject>

#include <memory>

using namespace MOBase;
using namespace MOShared;

Expand Down Expand Up @@ -84,6 +87,11 @@ IModRepositoryBridge* OrganizerProxy::createNexusBridge() const
return new NexusBridge(m_PluginContainer, m_Plugin->name());
}

QString OrganizerProxy::instanceName() const
{
return InstanceManager::singleton().currentInstance()->displayName();
}

QString OrganizerProxy::profileName() const
{
return m_Proxied->profileName();
Expand Down Expand Up @@ -367,6 +375,17 @@ MOBase::IProfile* OrganizerProxy::profile() const
return m_Proxied->currentProfile();
}

QStringList OrganizerProxy::profileNames() const
{
return m_Proxied->profileNames();
}

std::shared_ptr<const MOBase::IProfile>
OrganizerProxy::getProfile(const QString& name) const
{
return m_Proxied->getProfile(name);
}

MOBase::IPluginGame const* OrganizerProxy::managedGame() const
{
return m_Proxied->managedGame();
Expand Down
5 changes: 5 additions & 0 deletions src/organizerproxy.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ class OrganizerProxy : public MOBase::IOrganizer

public: // IOrganizer interface
MOBase::IModRepositoryBridge* createNexusBridge() const override;
QString instanceName() const override;
QString profileName() const override;
QString profilePath() const override;
QString downloadsPath() const override;
Expand Down Expand Up @@ -65,6 +66,10 @@ class OrganizerProxy : public MOBase::IOrganizer
MOBase::IPluginList* pluginList() const override;
MOBase::IModList* modList() const override;
MOBase::IProfile* profile() const override;
QStringList profileNames() const override;
std::shared_ptr<const MOBase::IProfile>
getProfile(const QString& name) const override;

MOBase::IGameFeatures* gameFeatures() const override;

HANDLE startApplication(const QString& executable,
Expand Down
2 changes: 1 addition & 1 deletion src/version.rc
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ BEGIN
VALUE "FileDescription", "Mod Organizer 2 GUI\0"
VALUE "OriginalFilename", "ModOrganizer.exe\0"
VALUE "InternalName", "ModOrganizer2\0"
VALUE "LegalCopyright", "Copyright 2011-2016 Sebastian Herbord\r\nCopyright 2016-2025 Mod Organizer 2 contributors\0"
VALUE "LegalCopyright", "Copyright 2011-2016 Sebastian Herbord\r\nCopyright 2016-2026 Mod Organizer 2 contributors\0"
VALUE "ProductName", "Mod Organizer 2\0"
VALUE "ProductVersion", VER_FILEVERSION_STR
END
Expand Down