initialize screens only if necessary
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
AC_INIT(configure.in)
|
AC_INIT(configure.in)
|
||||||
|
|
||||||
AM_CONFIG_HEADER(config.h)
|
AM_CONFIG_HEADER(config.h)
|
||||||
AM_INIT_AUTOMAKE(ncmpcpp, 0.3.5)
|
AM_INIT_AUTOMAKE(ncmpcpp, 0.3.6_pre)
|
||||||
|
|
||||||
AC_PREREQ(2.59)
|
AC_PREREQ(2.59)
|
||||||
|
|
||||||
|
|||||||
@@ -60,6 +60,7 @@ void Browser::Init()
|
|||||||
w->SetSelectSuffix(&Config.selected_item_suffix);
|
w->SetSelectSuffix(&Config.selected_item_suffix);
|
||||||
w->SetItemDisplayer(Display::Items);
|
w->SetItemDisplayer(Display::Items);
|
||||||
w->SetGetStringFunction(ItemToString);
|
w->SetGetStringFunction(ItemToString);
|
||||||
|
isInitialized = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Browser::Resize()
|
void Browser::Resize()
|
||||||
@@ -73,6 +74,9 @@ void Browser::SwitchTo()
|
|||||||
if (myScreen == this)
|
if (myScreen == this)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (!isInitialized)
|
||||||
|
Init();
|
||||||
|
|
||||||
if (hasToBeResized)
|
if (hasToBeResized)
|
||||||
Resize();
|
Resize();
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ class Browser : public Screen< Menu<MPD::Item> >
|
|||||||
public:
|
public:
|
||||||
Browser() : itsScrollBeginning(0), itsBrowsedDir("/") { }
|
Browser() : itsScrollBeginning(0), itsBrowsedDir("/") { }
|
||||||
|
|
||||||
virtual void Init();
|
|
||||||
virtual void Resize();
|
virtual void Resize();
|
||||||
virtual void SwitchTo();
|
virtual void SwitchTo();
|
||||||
|
|
||||||
@@ -57,7 +56,10 @@ class Browser : public Screen< Menu<MPD::Item> >
|
|||||||
void ClearDirectory(const std::string &) const;
|
void ClearDirectory(const std::string &) const;
|
||||||
void ChangeBrowseMode();
|
void ChangeBrowseMode();
|
||||||
void UpdateItemList();
|
void UpdateItemList();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void Init();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static bool hasSupportedExtension(const std::string &);
|
static bool hasSupportedExtension(const std::string &);
|
||||||
static std::string ItemToString(const MPD::Item &, void *);
|
static std::string ItemToString(const MPD::Item &, void *);
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ void Clock::Init()
|
|||||||
|
|
||||||
w = new Window((COLS-Width)/2, (LINES-Height)/2, Width, Height-1, "", Config.main_color, Border(Config.main_color));
|
w = new Window((COLS-Width)/2, (LINES-Height)/2, Width, Height-1, "", Config.main_color, Border(Config.main_color));
|
||||||
w->SetTimeout(ncmpcpp_window_timeout);
|
w->SetTimeout(ncmpcpp_window_timeout);
|
||||||
|
isInitialized = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Clock::Resize()
|
void Clock::Resize()
|
||||||
@@ -80,6 +81,9 @@ void Clock::SwitchTo()
|
|||||||
if (myScreen == this)
|
if (myScreen == this)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (!isInitialized)
|
||||||
|
Init();
|
||||||
|
|
||||||
if (hasToBeResized)
|
if (hasToBeResized)
|
||||||
Resize();
|
Resize();
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,6 @@
|
|||||||
class Clock : public Screen<Window>
|
class Clock : public Screen<Window>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual void Init();
|
|
||||||
virtual void Resize();
|
virtual void Resize();
|
||||||
virtual void SwitchTo();
|
virtual void SwitchTo();
|
||||||
|
|
||||||
@@ -50,6 +49,9 @@ class Clock : public Screen<Window>
|
|||||||
|
|
||||||
virtual List *GetList() { return 0; }
|
virtual List *GetList() { return 0; }
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void Init();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static void Prepare();
|
static void Prepare();
|
||||||
static void Set(int, int);
|
static void Set(int, int);
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ void Help::Init()
|
|||||||
w->SetTimeout(ncmpcpp_window_timeout);
|
w->SetTimeout(ncmpcpp_window_timeout);
|
||||||
GetKeybindings();
|
GetKeybindings();
|
||||||
w->Flush();
|
w->Flush();
|
||||||
|
isInitialized = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Help::Resize()
|
void Help::Resize()
|
||||||
@@ -48,6 +49,9 @@ void Help::SwitchTo()
|
|||||||
if (myScreen == this)
|
if (myScreen == this)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (!isInitialized)
|
||||||
|
Init();
|
||||||
|
|
||||||
if (hasToBeResized)
|
if (hasToBeResized)
|
||||||
Resize();
|
Resize();
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,6 @@
|
|||||||
class Help : public Screen<Scrollpad>
|
class Help : public Screen<Scrollpad>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual void Init();
|
|
||||||
virtual void Resize();
|
virtual void Resize();
|
||||||
virtual void SwitchTo();
|
virtual void SwitchTo();
|
||||||
|
|
||||||
@@ -40,6 +39,9 @@ class Help : public Screen<Scrollpad>
|
|||||||
|
|
||||||
virtual List *GetList() { return 0; }
|
virtual List *GetList() { return 0; }
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void Init();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::string DisplayKeys(int *, int = 2);
|
std::string DisplayKeys(int *, int = 2);
|
||||||
void GetKeybindings();
|
void GetKeybindings();
|
||||||
|
|||||||
@@ -61,6 +61,7 @@ void Info::Init()
|
|||||||
{
|
{
|
||||||
w = new Scrollpad(0, MainStartY, COLS, MainHeight, "", Config.main_color, brNone);
|
w = new Scrollpad(0, MainStartY, COLS, MainHeight, "", Config.main_color, brNone);
|
||||||
w->SetTimeout(ncmpcpp_window_timeout);
|
w->SetTimeout(ncmpcpp_window_timeout);
|
||||||
|
isInitialized = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Info::Resize()
|
void Info::Resize()
|
||||||
@@ -96,6 +97,9 @@ void Info::GetSong()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (!isInitialized)
|
||||||
|
Init();
|
||||||
|
|
||||||
MPD::Song *s = myScreen->CurrentSong();
|
MPD::Song *s = myScreen->CurrentSong();
|
||||||
|
|
||||||
if (!s)
|
if (!s)
|
||||||
@@ -125,6 +129,9 @@ void Info::GetArtist()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (!isInitialized)
|
||||||
|
Init();
|
||||||
|
|
||||||
# ifdef HAVE_PTHREAD_H
|
# ifdef HAVE_PTHREAD_H
|
||||||
if (Downloader && !ArtistReady)
|
if (Downloader && !ArtistReady)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -28,7 +28,6 @@
|
|||||||
class Info : public Screen<Scrollpad>
|
class Info : public Screen<Scrollpad>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual void Init();
|
|
||||||
virtual void SwitchTo() { }
|
virtual void SwitchTo() { }
|
||||||
virtual void Resize();
|
virtual void Resize();
|
||||||
|
|
||||||
@@ -50,6 +49,9 @@ class Info : public Screen<Scrollpad>
|
|||||||
void GetArtist();
|
void GetArtist();
|
||||||
# endif // HAVE_CURL_CURL_H
|
# endif // HAVE_CURL_CURL_H
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void Init();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::string itsArtist;
|
std::string itsArtist;
|
||||||
std::string itsTitle;
|
std::string itsTitle;
|
||||||
|
|||||||
@@ -71,6 +71,7 @@ void Lyrics::Init()
|
|||||||
{
|
{
|
||||||
w = new Scrollpad(0, MainStartY, COLS, MainHeight, "", Config.main_color, brNone);
|
w = new Scrollpad(0, MainStartY, COLS, MainHeight, "", Config.main_color, brNone);
|
||||||
w->SetTimeout(ncmpcpp_window_timeout);
|
w->SetTimeout(ncmpcpp_window_timeout);
|
||||||
|
isInitialized = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Lyrics::Resize()
|
void Lyrics::Resize()
|
||||||
@@ -104,6 +105,9 @@ void Lyrics::SwitchTo()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (!isInitialized)
|
||||||
|
Init();
|
||||||
|
|
||||||
# if defined(HAVE_CURL_CURL_H) && defined(HAVE_PTHREAD_H)
|
# if defined(HAVE_CURL_CURL_H) && defined(HAVE_PTHREAD_H)
|
||||||
if (Downloader && !Ready)
|
if (Downloader && !Ready)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -43,7 +43,6 @@ class Lyrics : public Screen<Scrollpad>
|
|||||||
Lyrics() : itsScrollBegin(0) { }
|
Lyrics() : itsScrollBegin(0) { }
|
||||||
~Lyrics() { }
|
~Lyrics() { }
|
||||||
|
|
||||||
virtual void Init();
|
|
||||||
virtual void Resize();
|
virtual void Resize();
|
||||||
virtual void SwitchTo();
|
virtual void SwitchTo();
|
||||||
|
|
||||||
@@ -66,6 +65,9 @@ class Lyrics : public Screen<Scrollpad>
|
|||||||
static const char *GetPluginName(int offset);
|
static const char *GetPluginName(int offset);
|
||||||
# endif // HAVE_CURL_CURL_H
|
# endif // HAVE_CURL_CURL_H
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void Init();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::string itsFilenamePath;
|
std::string itsFilenamePath;
|
||||||
|
|
||||||
|
|||||||
@@ -75,6 +75,7 @@ void MediaLibrary::Init()
|
|||||||
Songs->SetGetStringFunction(SongToString);
|
Songs->SetGetStringFunction(SongToString);
|
||||||
|
|
||||||
w = Artists;
|
w = Artists;
|
||||||
|
isInitialized = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MediaLibrary::Resize()
|
void MediaLibrary::Resize()
|
||||||
@@ -141,6 +142,9 @@ void MediaLibrary::SwitchTo()
|
|||||||
Albums->SetTitle("Albums");
|
Albums->SetTitle("Albums");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!isInitialized)
|
||||||
|
Init();
|
||||||
|
|
||||||
if (hasToBeResized)
|
if (hasToBeResized)
|
||||||
Resize();
|
Resize();
|
||||||
|
|
||||||
|
|||||||
@@ -37,7 +37,6 @@ class MediaLibrary : public Screen<Window>
|
|||||||
};
|
};
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual void Init();
|
|
||||||
virtual void SwitchTo();
|
virtual void SwitchTo();
|
||||||
virtual void Resize();
|
virtual void Resize();
|
||||||
|
|
||||||
@@ -68,6 +67,9 @@ class MediaLibrary : public Screen<Window>
|
|||||||
Menu< std::pair<std::string, SearchConstraints> > *Albums;
|
Menu< std::pair<std::string, SearchConstraints> > *Albums;
|
||||||
Menu<MPD::Song> *Songs;
|
Menu<MPD::Song> *Songs;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void Init();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void AddToPlaylist(bool);
|
void AddToPlaylist(bool);
|
||||||
|
|
||||||
|
|||||||
@@ -160,7 +160,7 @@ void Connection::UpdateStatus()
|
|||||||
{
|
{
|
||||||
itsChanges.Playlist = 1;
|
itsChanges.Playlist = 1;
|
||||||
itsChanges.SongID = 1;
|
itsChanges.SongID = 1;
|
||||||
itsChanges.Database = 1;
|
itsChanges.Database = 0;
|
||||||
itsChanges.DBUpdating = 1;
|
itsChanges.DBUpdating = 1;
|
||||||
itsChanges.Volume = 1;
|
itsChanges.Volume = 1;
|
||||||
itsChanges.ElapsedTime = 1;
|
itsChanges.ElapsedTime = 1;
|
||||||
|
|||||||
@@ -133,27 +133,6 @@ int main(int argc, char *argv[])
|
|||||||
if (!Config.statusbar_visibility)
|
if (!Config.statusbar_visibility)
|
||||||
MainHeight++;
|
MainHeight++;
|
||||||
|
|
||||||
myPlaylist->Init();
|
|
||||||
myBrowser->Init();
|
|
||||||
mySearcher->Init();
|
|
||||||
myLibrary->Init();
|
|
||||||
myPlaylistEditor->Init();
|
|
||||||
|
|
||||||
# ifdef HAVE_TAGLIB_H
|
|
||||||
myTinyTagEditor->Init();
|
|
||||||
myTagEditor->Init();
|
|
||||||
# endif // HAVE_TAGLIB_H
|
|
||||||
# ifdef ENABLE_OUTPUTS
|
|
||||||
myOutputs->Init();
|
|
||||||
# endif // ENABLE_OUTPUTS
|
|
||||||
# ifdef ENABLE_CLOCK
|
|
||||||
myClock->Init();
|
|
||||||
# endif // ENABLE_CLOCK
|
|
||||||
|
|
||||||
myHelp->Init();
|
|
||||||
myInfo->Init();
|
|
||||||
myLyrics->Init();
|
|
||||||
|
|
||||||
if (Config.header_visibility)
|
if (Config.header_visibility)
|
||||||
{
|
{
|
||||||
wHeader = new Window(0, 0, COLS, 1, "", Config.header_color, brNone);
|
wHeader = new Window(0, 0, COLS, 1, "", Config.header_color, brNone);
|
||||||
@@ -169,8 +148,7 @@ int main(int argc, char *argv[])
|
|||||||
wFooter->CreateHistory();
|
wFooter->CreateHistory();
|
||||||
*wFooter << fmtBold; // bold by default
|
*wFooter << fmtBold; // bold by default
|
||||||
|
|
||||||
myScreen = myPlaylist;
|
myPlaylist->SwitchTo();
|
||||||
|
|
||||||
myPlaylist->UpdateTimer();
|
myPlaylist->UpdateTimer();
|
||||||
|
|
||||||
Mpd->SetStatusUpdater(NcmpcppStatusChanged, NULL);
|
Mpd->SetStatusUpdater(NcmpcppStatusChanged, NULL);
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ void Outputs::Init()
|
|||||||
w->SetItemDisplayer(Display::Pairs);
|
w->SetItemDisplayer(Display::Pairs);
|
||||||
|
|
||||||
FetchList();
|
FetchList();
|
||||||
|
isInitialized = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Outputs::SwitchTo()
|
void Outputs::SwitchTo()
|
||||||
@@ -45,6 +46,9 @@ void Outputs::SwitchTo()
|
|||||||
if (myScreen == this)
|
if (myScreen == this)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (!isInitialized)
|
||||||
|
Init();
|
||||||
|
|
||||||
if (hasToBeResized)
|
if (hasToBeResized)
|
||||||
Resize();
|
Resize();
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,6 @@
|
|||||||
class Outputs : public Screen< Menu<MPD::Output> >
|
class Outputs : public Screen< Menu<MPD::Output> >
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual void Init();
|
|
||||||
virtual void SwitchTo();
|
virtual void SwitchTo();
|
||||||
virtual void Resize();
|
virtual void Resize();
|
||||||
|
|
||||||
@@ -49,6 +48,9 @@ class Outputs : public Screen< Menu<MPD::Output> >
|
|||||||
virtual List *GetList() { return w; }
|
virtual List *GetList() { return w; }
|
||||||
|
|
||||||
void FetchList();
|
void FetchList();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void Init();
|
||||||
};
|
};
|
||||||
|
|
||||||
extern Outputs *myOutputs;
|
extern Outputs *myOutputs;
|
||||||
|
|||||||
@@ -80,6 +80,8 @@ void Playlist::Init()
|
|||||||
SortDialog->AddOption(std::make_pair("Sort", static_cast<MPD::Song::GetFunction>(0)));
|
SortDialog->AddOption(std::make_pair("Sort", static_cast<MPD::Song::GetFunction>(0)));
|
||||||
SortDialog->AddOption(std::make_pair("Reverse", static_cast<MPD::Song::GetFunction>(0)));
|
SortDialog->AddOption(std::make_pair("Reverse", static_cast<MPD::Song::GetFunction>(0)));
|
||||||
SortDialog->AddOption(std::make_pair("Cancel", static_cast<MPD::Song::GetFunction>(0)));
|
SortDialog->AddOption(std::make_pair("Cancel", static_cast<MPD::Song::GetFunction>(0)));
|
||||||
|
|
||||||
|
isInitialized = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Playlist::SwitchTo()
|
void Playlist::SwitchTo()
|
||||||
@@ -87,6 +89,9 @@ void Playlist::SwitchTo()
|
|||||||
if (myScreen == this)
|
if (myScreen == this)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (!isInitialized)
|
||||||
|
Init();
|
||||||
|
|
||||||
itsScrollBegin = 0;
|
itsScrollBegin = 0;
|
||||||
|
|
||||||
if (hasToBeResized)
|
if (hasToBeResized)
|
||||||
|
|||||||
@@ -33,7 +33,6 @@ class Playlist : public Screen< Menu<MPD::Song> >
|
|||||||
Playlist() : NowPlaying(-1), OldPlaying(-1), itsTotalLength(0), itsRemainingTime(0), itsScrollBegin(0) { }
|
Playlist() : NowPlaying(-1), OldPlaying(-1), itsTotalLength(0), itsRemainingTime(0), itsScrollBegin(0) { }
|
||||||
~Playlist() { }
|
~Playlist() { }
|
||||||
|
|
||||||
virtual void Init();
|
|
||||||
virtual void SwitchTo();
|
virtual void SwitchTo();
|
||||||
virtual void Resize();
|
virtual void Resize();
|
||||||
|
|
||||||
@@ -76,6 +75,9 @@ class Playlist : public Screen< Menu<MPD::Song> >
|
|||||||
static bool BlockUpdate;
|
static bool BlockUpdate;
|
||||||
static bool BlockRefreshing;
|
static bool BlockRefreshing;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void Init();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::string TotalLength();
|
std::string TotalLength();
|
||||||
|
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ void PlaylistEditor::Init()
|
|||||||
Content->SetGetStringFunctionUserData(&Config.song_list_format);
|
Content->SetGetStringFunctionUserData(&Config.song_list_format);
|
||||||
|
|
||||||
w = Playlists;
|
w = Playlists;
|
||||||
|
isInitialized = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void PlaylistEditor::Resize()
|
void PlaylistEditor::Resize()
|
||||||
@@ -97,6 +98,9 @@ void PlaylistEditor::SwitchTo()
|
|||||||
if (myScreen == this)
|
if (myScreen == this)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (!isInitialized)
|
||||||
|
Init();
|
||||||
|
|
||||||
if (hasToBeResized)
|
if (hasToBeResized)
|
||||||
Resize();
|
Resize();
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,6 @@
|
|||||||
class PlaylistEditor : public Screen<Window>
|
class PlaylistEditor : public Screen<Window>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual void Init();
|
|
||||||
virtual void SwitchTo();
|
virtual void SwitchTo();
|
||||||
virtual void Resize();
|
virtual void Resize();
|
||||||
|
|
||||||
@@ -54,7 +53,10 @@ class PlaylistEditor : public Screen<Window>
|
|||||||
|
|
||||||
Menu<std::string> *Playlists;
|
Menu<std::string> *Playlists;
|
||||||
Menu<MPD::Song> *Content;
|
Menu<MPD::Song> *Content;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void Init();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void AddToPlaylist(bool);
|
void AddToPlaylist(bool);
|
||||||
|
|
||||||
|
|||||||
@@ -30,12 +30,11 @@
|
|||||||
class BasicScreen
|
class BasicScreen
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
BasicScreen() : hasToBeResized(0) { }
|
BasicScreen() : hasToBeResized(0), isInitialized(0) { }
|
||||||
virtual ~BasicScreen() { }
|
virtual ~BasicScreen() { }
|
||||||
|
|
||||||
virtual void *ActiveWindow() = 0;
|
virtual void *ActiveWindow() = 0;
|
||||||
|
|
||||||
virtual void Init() = 0;
|
|
||||||
virtual void SwitchTo() = 0;
|
virtual void SwitchTo() = 0;
|
||||||
virtual void Resize() = 0;
|
virtual void Resize() = 0;
|
||||||
|
|
||||||
@@ -62,6 +61,11 @@ class BasicScreen
|
|||||||
virtual List *GetList() = 0;
|
virtual List *GetList() = 0;
|
||||||
|
|
||||||
bool hasToBeResized;
|
bool hasToBeResized;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void Init() = 0;
|
||||||
|
|
||||||
|
bool isInitialized;
|
||||||
};
|
};
|
||||||
|
|
||||||
template <typename WindowType> class Screen : public BasicScreen
|
template <typename WindowType> class Screen : public BasicScreen
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ void SearchEngine::Init()
|
|||||||
w->SetSelectPrefix(&Config.selected_item_prefix);
|
w->SetSelectPrefix(&Config.selected_item_prefix);
|
||||||
w->SetSelectSuffix(&Config.selected_item_suffix);
|
w->SetSelectSuffix(&Config.selected_item_suffix);
|
||||||
w->SetGetStringFunction(SearchEngineOptionToString);
|
w->SetGetStringFunction(SearchEngineOptionToString);
|
||||||
|
isInitialized = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SearchEngine::Resize()
|
void SearchEngine::Resize()
|
||||||
@@ -65,6 +66,9 @@ void SearchEngine::SwitchTo()
|
|||||||
if (myScreen == this)
|
if (myScreen == this)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (!isInitialized)
|
||||||
|
Init();
|
||||||
|
|
||||||
if (hasToBeResized)
|
if (hasToBeResized)
|
||||||
Resize();
|
Resize();
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,6 @@ class SearchEngine : public Screen< Menu< std::pair<Buffer *, MPD::Song *> > >
|
|||||||
};
|
};
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual void Init();
|
|
||||||
virtual void Resize();
|
virtual void Resize();
|
||||||
virtual void SwitchTo();
|
virtual void SwitchTo();
|
||||||
|
|
||||||
@@ -69,6 +68,9 @@ class SearchEngine : public Screen< Menu< std::pair<Buffer *, MPD::Song *> > >
|
|||||||
static const char *NormalMode;
|
static const char *NormalMode;
|
||||||
static const char *StrictMode;
|
static const char *StrictMode;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void Init();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void Prepare();
|
void Prepare();
|
||||||
void Search();
|
void Search();
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ void TinyTagEditor::Init()
|
|||||||
w->SetTimeout(ncmpcpp_window_timeout);
|
w->SetTimeout(ncmpcpp_window_timeout);
|
||||||
w->CyclicScrolling(Config.use_cyclic_scrolling);
|
w->CyclicScrolling(Config.use_cyclic_scrolling);
|
||||||
w->SetItemDisplayer(Display::Generic);
|
w->SetItemDisplayer(Display::Generic);
|
||||||
|
isInitialized = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TinyTagEditor::Resize()
|
void TinyTagEditor::Resize()
|
||||||
@@ -258,6 +259,9 @@ bool TinyTagEditor::GetTags()
|
|||||||
ext = ext.substr(ext.rfind(".")+1);
|
ext = ext.substr(ext.rfind(".")+1);
|
||||||
ToLower(ext);
|
ToLower(ext);
|
||||||
|
|
||||||
|
if (!isInitialized)
|
||||||
|
Init();
|
||||||
|
|
||||||
w->Clear();
|
w->Clear();
|
||||||
w->Reset();
|
w->Reset();
|
||||||
|
|
||||||
@@ -353,6 +357,7 @@ void TagEditor::Init()
|
|||||||
Tags->SetGetStringFunctionUserData(TagTypes);
|
Tags->SetGetStringFunctionUserData(TagTypes);
|
||||||
|
|
||||||
w = LeftColumn;
|
w = LeftColumn;
|
||||||
|
isInitialized = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TagEditor::Resize()
|
void TagEditor::Resize()
|
||||||
@@ -383,6 +388,9 @@ void TagEditor::SwitchTo()
|
|||||||
if (myScreen == this)
|
if (myScreen == this)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (!isInitialized)
|
||||||
|
Init();
|
||||||
|
|
||||||
if (hasToBeResized)
|
if (hasToBeResized)
|
||||||
Resize();
|
Resize();
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,6 @@
|
|||||||
class TinyTagEditor : public Screen< Menu<Buffer> >
|
class TinyTagEditor : public Screen< Menu<Buffer> >
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual void Init();
|
|
||||||
virtual void Resize();
|
virtual void Resize();
|
||||||
virtual void SwitchTo();
|
virtual void SwitchTo();
|
||||||
|
|
||||||
@@ -52,6 +51,9 @@ class TinyTagEditor : public Screen< Menu<Buffer> >
|
|||||||
|
|
||||||
bool SetEdited(MPD::Song *);
|
bool SetEdited(MPD::Song *);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void Init();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool GetTags();
|
bool GetTags();
|
||||||
MPD::Song itsEdited;
|
MPD::Song itsEdited;
|
||||||
@@ -64,7 +66,6 @@ class TagEditor : public Screen<Window>
|
|||||||
public:
|
public:
|
||||||
TagEditor() : itsBrowsedDir("/") { }
|
TagEditor() : itsBrowsedDir("/") { }
|
||||||
|
|
||||||
virtual void Init();
|
|
||||||
virtual void Resize();
|
virtual void Resize();
|
||||||
virtual void SwitchTo();
|
virtual void SwitchTo();
|
||||||
|
|
||||||
@@ -102,6 +103,9 @@ class TagEditor : public Screen<Window>
|
|||||||
static void ReadTags(mpd_Song *);
|
static void ReadTags(mpd_Song *);
|
||||||
static bool WriteTags(MPD::Song &);
|
static bool WriteTags(MPD::Song &);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void Init();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static std::string CapitalizeFirstLetters(const std::string &);
|
static std::string CapitalizeFirstLetters(const std::string &);
|
||||||
static void CapitalizeFirstLetters(MPD::Song &);
|
static void CapitalizeFirstLetters(MPD::Song &);
|
||||||
|
|||||||
Reference in New Issue
Block a user