#include "os/file.h"
#include "generic/callback.h"
-#include "stream/stringstream.h"
#include "convert.h"
#include "gtkutil/menu.h"
#include "map.h"
#include "qe3.h"
-const int MRU_MAX = 4;
+#define MRU_MAX 9
namespace {
GtkMenuItem *MRU_items[MRU_MAX];
std::size_t MRU_used;
typedef CopiedString MRU_filename_t;
MRU_filename_t MRU_filenames[MRU_MAX];
typedef const char* MRU_key_t;
-MRU_key_t MRU_keys[MRU_MAX] = { "File0", "File1", "File2", "File3" };
+MRU_key_t MRU_keys[MRU_MAX] = { "File0", "File1", "File2", "File3", "File4", "File5", "File6", "File7", "File8" };
}
inline const char* MRU_GetText( std::size_t index ){
class EscapedMnemonic
{
-StringBuffer m_buffer;
+private:
+ std::string m_buffer;
+
public:
-EscapedMnemonic( std::size_t capacity ) : m_buffer( capacity ){
+ EscapedMnemonic() : m_buffer(){
m_buffer.push_back( '_' );
}
const char* c_str() const {
void MRU_updateWidget( std::size_t index, const char *filename ){
- EscapedMnemonic mnemonic( 64 );
+ EscapedMnemonic mnemonic;
mnemonic << Unsigned( index + 1 ) << "- " << filename;
gtk_label_set_text_with_mnemonic( GTK_LABEL( gtk_bin_get_child( GTK_BIN( MRU_items[index] ) ) ), mnemonic.c_str() );
}
class LoadMRU
{
+private:
std::size_t m_number;
+
public:
LoadMRU( std::size_t number )
: m_number( number ){
LoadMRU g_load_mru2( 2 );
LoadMRU g_load_mru3( 3 );
LoadMRU g_load_mru4( 4 );
+LoadMRU g_load_mru5( 5 );
+LoadMRU g_load_mru6( 6 );
+LoadMRU g_load_mru7( 7 );
+LoadMRU g_load_mru8( 8 );
+LoadMRU g_load_mru9( 9 );
void MRU_constructMenu( ui::Menu menu ){
{
item.hide();
MRU_AddWidget( item, 3 );
}
+ {
+ auto item = create_menu_item_with_mnemonic( menu, "_5", LoadMRUCaller( g_load_mru5 ) );
+ item.hide();
+ MRU_AddWidget( item, 4 );
+ }
+ {
+ auto item = create_menu_item_with_mnemonic( menu, "_6", LoadMRUCaller( g_load_mru6 ) );
+ item.hide();
+ MRU_AddWidget( item, 5 );
+ }
+ {
+ auto item = create_menu_item_with_mnemonic( menu, "_7", LoadMRUCaller( g_load_mru7 ) );
+ item.hide();
+ MRU_AddWidget( item, 6 );
+ }
+ {
+ auto item = create_menu_item_with_mnemonic( menu, "_8", LoadMRUCaller( g_load_mru8 ) );
+ item.hide();
+ MRU_AddWidget( item, 7 );
+ }
+ {
+ auto item = create_menu_item_with_mnemonic( menu, "_9", LoadMRUCaller( g_load_mru9 ) );
+ item.hide();
+ MRU_AddWidget( item, 8 );
+ }
}
#include "preferencesystem.h"