mirror of
https://github.com/aseprite/aseprite.git
synced 2024-10-04 05:50:15 +00:00
Remove "static" member functions from RecentFiles. Now App has a RecentFiles member and it must be accessed through the App singleton.
This commit is contained in:
parent
99adf98c0f
commit
1f88934542
16
src/app.cpp
16
src/app.cpp
@ -88,7 +88,7 @@ public:
|
||||
RasterModule m_raster;
|
||||
CommandsModule m_commands_modules;
|
||||
UIContext m_ui_context;
|
||||
RecentFiles m_recent_files_module;
|
||||
RecentFiles m_recent_files;
|
||||
};
|
||||
|
||||
class TabsBarHandler : public ITabsHandler
|
||||
@ -261,7 +261,7 @@ int App::run()
|
||||
set_sprite_in_more_reliable_editor(context->get_first_sprite());
|
||||
|
||||
// Recent file
|
||||
RecentFiles::addRecentFile(Vaca::convert_to<std::string>(option->data()).c_str());
|
||||
getRecentFiles()->addRecentFile(Vaca::convert_to<std::string>(option->data()).c_str());
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -332,12 +332,18 @@ App::~App()
|
||||
}
|
||||
}
|
||||
|
||||
ToolBox* App::get_toolbox()
|
||||
ToolBox* App::get_toolbox() const
|
||||
{
|
||||
ASSERT(m_modules != NULL);
|
||||
return &m_modules->m_toolbox;
|
||||
}
|
||||
|
||||
RecentFiles* App::getRecentFiles() const
|
||||
{
|
||||
ASSERT(m_modules != NULL);
|
||||
return &m_modules->m_recent_files;
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates palette and redraw the screen.
|
||||
*/
|
||||
@ -399,8 +405,8 @@ bool app_realloc_recent_list()
|
||||
submenu = jmenu_new();
|
||||
jmenuitem_set_submenu(list_menuitem, submenu);
|
||||
|
||||
RecentFiles::const_iterator it = RecentFiles::begin();
|
||||
RecentFiles::const_iterator end = RecentFiles::end();
|
||||
RecentFiles::const_iterator it = App::instance()->getRecentFiles()->begin();
|
||||
RecentFiles::const_iterator end = App::instance()->getRecentFiles()->end();
|
||||
|
||||
if (it != end) {
|
||||
Params params;
|
||||
|
@ -33,6 +33,7 @@ class ToolBox;
|
||||
class ColorBar;
|
||||
class StatusBar;
|
||||
class Tabs;
|
||||
class RecentFiles;
|
||||
|
||||
class App
|
||||
{
|
||||
@ -51,7 +52,8 @@ public:
|
||||
|
||||
int run();
|
||||
|
||||
ToolBox* get_toolbox();
|
||||
ToolBox* get_toolbox() const;
|
||||
RecentFiles* getRecentFiles() const;
|
||||
|
||||
// App Signals
|
||||
Vaca::Signal0<void> Exit;
|
||||
|
@ -192,7 +192,7 @@ void OpenFileCommand::onExecute(Context* context)
|
||||
if (sprite) {
|
||||
UIContext* context = UIContext::instance();
|
||||
|
||||
RecentFiles::addRecentFile(fop->filename);
|
||||
App::instance()->getRecentFiles()->addRecentFile(fop->filename);
|
||||
context->add_sprite(sprite);
|
||||
|
||||
set_sprite_in_more_reliable_editor(sprite);
|
||||
@ -214,7 +214,7 @@ void OpenFileCommand::onExecute(Context* context)
|
||||
// The file was not found or was loaded loaded with errors,
|
||||
// so we can remove it from the recent-file list
|
||||
if (unrecent) {
|
||||
RecentFiles::removeRecentFile(m_filename.c_str());
|
||||
App::instance()->getRecentFiles()->removeRecentFile(m_filename.c_str());
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
@ -128,7 +128,7 @@ static void save_sprite_in_background(Sprite* sprite, bool mark_as_saved)
|
||||
}
|
||||
/* no error? */
|
||||
else {
|
||||
RecentFiles::addRecentFile(sprite->getFilename());
|
||||
App::instance()->getRecentFiles()->addRecentFile(sprite->getFilename());
|
||||
if (mark_as_saved)
|
||||
sprite->markAsSaved();
|
||||
|
||||
|
@ -427,8 +427,9 @@ static void update_location(JWidget window)
|
||||
std::set<std::string> included;
|
||||
|
||||
// For each recent file...
|
||||
RecentFiles::const_iterator it;
|
||||
for (it = RecentFiles::begin(); it != RecentFiles::end(); ++it) {
|
||||
RecentFiles::const_iterator it = App::instance()->getRecentFiles()->begin();
|
||||
RecentFiles::const_iterator end = App::instance()->getRecentFiles()->end();
|
||||
for (; it != end; ++it) {
|
||||
// Get the path of the recent file
|
||||
std::string path = jstring(*it).filepath();
|
||||
|
||||
|
@ -27,16 +27,14 @@
|
||||
#include "modules/gui.h"
|
||||
#include "recent_files.h"
|
||||
|
||||
static RecentFiles::FilesList recent_files;
|
||||
static int recent_files_limit = 16;
|
||||
|
||||
RecentFiles::RecentFiles()
|
||||
: m_limit(16)
|
||||
{
|
||||
const char *filename;
|
||||
const char* filename;
|
||||
char buf[512];
|
||||
int c;
|
||||
|
||||
for (c=recent_files_limit-1; c>=0; c--) {
|
||||
for (c=m_limit-1; c>=0; c--) {
|
||||
sprintf(buf, "Filename%02d", c);
|
||||
|
||||
filename = get_config_string("RecentFiles", buf, NULL);
|
||||
@ -57,28 +55,28 @@ RecentFiles::~RecentFiles()
|
||||
c++;
|
||||
}
|
||||
|
||||
recent_files.clear();
|
||||
m_files.clear();
|
||||
}
|
||||
|
||||
RecentFiles::const_iterator RecentFiles::begin()
|
||||
{
|
||||
return recent_files.begin();
|
||||
return m_files.begin();
|
||||
}
|
||||
|
||||
RecentFiles::const_iterator RecentFiles::end()
|
||||
{
|
||||
return recent_files.end();
|
||||
return m_files.end();
|
||||
}
|
||||
|
||||
void RecentFiles::addRecentFile(const char* filename)
|
||||
{
|
||||
iterator it = std::find(recent_files.begin(), recent_files.end(), filename);
|
||||
iterator it = std::find(m_files.begin(), m_files.end(), filename);
|
||||
|
||||
// If the filename already exist in the list...
|
||||
if (it != recent_files.end()) {
|
||||
if (it != m_files.end()) {
|
||||
// Move it to the first position
|
||||
recent_files.erase(it);
|
||||
recent_files.insert(recent_files.begin(), filename);
|
||||
m_files.erase(it);
|
||||
m_files.insert(m_files.begin(), filename);
|
||||
schedule_rebuild_recent_list();
|
||||
return;
|
||||
}
|
||||
@ -86,21 +84,21 @@ void RecentFiles::addRecentFile(const char* filename)
|
||||
// If the filename does not exist...
|
||||
|
||||
// Does the list is full?
|
||||
if ((int)recent_files.size() == recent_files_limit) {
|
||||
if ((int)m_files.size() == m_limit) {
|
||||
// Remove the last entry
|
||||
recent_files.erase(--recent_files.end());
|
||||
m_files.erase(--m_files.end());
|
||||
}
|
||||
|
||||
recent_files.insert(recent_files.begin(), filename);
|
||||
m_files.insert(m_files.begin(), filename);
|
||||
schedule_rebuild_recent_list();
|
||||
}
|
||||
|
||||
void RecentFiles::removeRecentFile(const char* filename)
|
||||
{
|
||||
iterator it = std::find(recent_files.begin(), recent_files.end(), filename);
|
||||
iterator it = std::find(m_files.begin(), m_files.end(), filename);
|
||||
|
||||
if (it != recent_files.end()) {
|
||||
recent_files.erase(it);
|
||||
if (it != m_files.end()) {
|
||||
m_files.erase(it);
|
||||
|
||||
schedule_rebuild_recent_list();
|
||||
}
|
||||
|
@ -29,14 +29,18 @@ public:
|
||||
typedef FilesList::iterator iterator;
|
||||
typedef FilesList::const_iterator const_iterator;
|
||||
|
||||
static const_iterator begin();
|
||||
static const_iterator end();
|
||||
const_iterator begin();
|
||||
const_iterator end();
|
||||
|
||||
RecentFiles();
|
||||
~RecentFiles();
|
||||
|
||||
static void addRecentFile(const char* filename);
|
||||
static void removeRecentFile(const char* filename);
|
||||
void addRecentFile(const char* filename);
|
||||
void removeRecentFile(const char* filename);
|
||||
|
||||
private:
|
||||
RecentFiles::FilesList m_files;
|
||||
int m_limit;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user