improve resizing
This commit is contained in:
@@ -53,6 +53,7 @@ void Browser::Init()
|
|||||||
void Browser::Resize()
|
void Browser::Resize()
|
||||||
{
|
{
|
||||||
w->Resize(COLS, main_height);
|
w->Resize(COLS, main_height);
|
||||||
|
hasToBeResized = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Browser::SwitchTo()
|
void Browser::SwitchTo()
|
||||||
@@ -60,6 +61,9 @@ void Browser::SwitchTo()
|
|||||||
if (myScreen == this)
|
if (myScreen == this)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (hasToBeResized)
|
||||||
|
Resize();
|
||||||
|
|
||||||
CLEAR_FIND_HISTORY;
|
CLEAR_FIND_HISTORY;
|
||||||
w->Empty() ? myBrowser->GetDirectory(itsBrowsedDir) : myBrowser->UpdateItemList();
|
w->Empty() ? myBrowser->GetDirectory(itsBrowsedDir) : myBrowser->UpdateItemList();
|
||||||
myScreen = this;
|
myScreen = this;
|
||||||
|
|||||||
@@ -56,10 +56,9 @@ void Clock::Resize()
|
|||||||
if (Width <= size_t(COLS) && Height <= main_height)
|
if (Width <= size_t(COLS) && Height <= main_height)
|
||||||
{
|
{
|
||||||
w->MoveTo((COLS-Width)/2, (LINES-Height)/2);
|
w->MoveTo((COLS-Width)/2, (LINES-Height)/2);
|
||||||
if (myScreen == myClock)
|
if (myScreen == this)
|
||||||
{
|
{
|
||||||
myPlaylist->Main()->Hide();
|
myPlaylist->Main()->Hide();
|
||||||
Prepare();
|
|
||||||
w->Display();
|
w->Display();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -75,6 +74,9 @@ void Clock::SwitchTo()
|
|||||||
if (myScreen == this)
|
if (myScreen == this)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (hasToBeResized)
|
||||||
|
Resize();
|
||||||
|
|
||||||
CLEAR_FIND_HISTORY;
|
CLEAR_FIND_HISTORY;
|
||||||
myScreen = this;
|
myScreen = this;
|
||||||
myPlaylist->Main()->Hide();
|
myPlaylist->Main()->Hide();
|
||||||
|
|||||||
@@ -49,7 +49,6 @@ namespace Global
|
|||||||
extern bool block_progressbar_update;
|
extern bool block_progressbar_update;
|
||||||
extern bool block_item_list_update;
|
extern bool block_item_list_update;
|
||||||
|
|
||||||
extern bool header_update_status;
|
|
||||||
extern bool messages_allowed;
|
extern bool messages_allowed;
|
||||||
extern bool redraw_header;
|
extern bool redraw_header;
|
||||||
|
|
||||||
|
|||||||
21
src/help.cpp
21
src/help.cpp
@@ -40,20 +40,21 @@ void Help::Init()
|
|||||||
void Help::Resize()
|
void Help::Resize()
|
||||||
{
|
{
|
||||||
w->Resize(COLS, main_height);
|
w->Resize(COLS, main_height);
|
||||||
|
hasToBeResized = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Help::SwitchTo()
|
void Help::SwitchTo()
|
||||||
{
|
{
|
||||||
if (myScreen != myHelp
|
if (myScreen == this)
|
||||||
# ifdef HAVE_TAGLIB_H
|
return;
|
||||||
&& myScreen != myTinyTagEditor
|
|
||||||
# endif // HAVE_TAGLIB_H
|
if (hasToBeResized)
|
||||||
)
|
Resize();
|
||||||
{
|
|
||||||
myScreen = this;
|
myScreen = this;
|
||||||
w->Hide();
|
w->Hide();
|
||||||
redraw_header = 1;
|
redraw_header = 1;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string Help::Title()
|
std::string Help::Title()
|
||||||
|
|||||||
16
src/info.cpp
16
src/info.cpp
@@ -59,6 +59,7 @@ void Info::Init()
|
|||||||
void Info::Resize()
|
void Info::Resize()
|
||||||
{
|
{
|
||||||
w->Resize(COLS, main_height);
|
w->Resize(COLS, main_height);
|
||||||
|
hasToBeResized = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string Info::Title()
|
std::string Info::Title()
|
||||||
@@ -83,10 +84,7 @@ void Info::GetSong()
|
|||||||
{
|
{
|
||||||
if (myScreen == this)
|
if (myScreen == this)
|
||||||
{
|
{
|
||||||
w->Hide();
|
myOldScreen->SwitchTo();
|
||||||
myScreen = myOldScreen;
|
|
||||||
redraw_header = 1;
|
|
||||||
myScreen->Refresh();
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -95,6 +93,9 @@ void Info::GetSong()
|
|||||||
if (!s)
|
if (!s)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (hasToBeResized)
|
||||||
|
Resize();
|
||||||
|
|
||||||
myOldScreen = myScreen;
|
myOldScreen = myScreen;
|
||||||
myScreen = this;
|
myScreen = this;
|
||||||
redraw_header = 1;
|
redraw_header = 1;
|
||||||
@@ -112,10 +113,7 @@ void Info::GetArtist()
|
|||||||
{
|
{
|
||||||
if (myScreen == this)
|
if (myScreen == this)
|
||||||
{
|
{
|
||||||
w->Hide();
|
myOldScreen->SwitchTo();
|
||||||
myScreen = myOldScreen;
|
|
||||||
redraw_header = 1;
|
|
||||||
myScreen->Refresh();
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -138,6 +136,8 @@ void Info::GetArtist()
|
|||||||
|
|
||||||
if (!artist->empty())
|
if (!artist->empty())
|
||||||
{
|
{
|
||||||
|
if (hasToBeResized)
|
||||||
|
Resize();
|
||||||
myOldScreen = myScreen;
|
myOldScreen = myScreen;
|
||||||
myScreen = this;
|
myScreen = this;
|
||||||
redraw_header = 1;
|
redraw_header = 1;
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ void Lyrics::Init()
|
|||||||
void Lyrics::Resize()
|
void Lyrics::Resize()
|
||||||
{
|
{
|
||||||
w->Resize(COLS, main_height);
|
w->Resize(COLS, main_height);
|
||||||
|
hasToBeResized = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Lyrics::Update()
|
void Lyrics::Update()
|
||||||
@@ -86,10 +87,7 @@ void Lyrics::SwitchTo()
|
|||||||
{
|
{
|
||||||
if (myScreen == this && !Reload)
|
if (myScreen == this && !Reload)
|
||||||
{
|
{
|
||||||
w->Hide();
|
myOldScreen->SwitchTo();
|
||||||
myScreen = myOldScreen;
|
|
||||||
redraw_header = 1;
|
|
||||||
myScreen->Refresh();
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -114,6 +112,8 @@ void Lyrics::SwitchTo()
|
|||||||
|
|
||||||
if (!s->GetArtist().empty() && !s->GetTitle().empty())
|
if (!s->GetArtist().empty() && !s->GetTitle().empty())
|
||||||
{
|
{
|
||||||
|
if (hasToBeResized)
|
||||||
|
Resize();
|
||||||
itsScrollBegin = 0;
|
itsScrollBegin = 0;
|
||||||
itsSong = *s;
|
itsSong = *s;
|
||||||
myOldScreen = myScreen;
|
myOldScreen = myScreen;
|
||||||
|
|||||||
@@ -85,6 +85,8 @@ void MediaLibrary::Resize()
|
|||||||
|
|
||||||
Albums->MoveTo(itsMiddleColStartX, main_start_y);
|
Albums->MoveTo(itsMiddleColStartX, main_start_y);
|
||||||
Songs->MoveTo(itsRightColStartX, main_start_y);
|
Songs->MoveTo(itsRightColStartX, main_start_y);
|
||||||
|
|
||||||
|
hasToBeResized = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MediaLibrary::Refresh()
|
void MediaLibrary::Refresh()
|
||||||
@@ -106,6 +108,9 @@ void MediaLibrary::SwitchTo()
|
|||||||
if (myScreen == this)
|
if (myScreen == this)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (hasToBeResized)
|
||||||
|
Resize();
|
||||||
|
|
||||||
CLEAR_FIND_HISTORY;
|
CLEAR_FIND_HISTORY;
|
||||||
myScreen = this;
|
myScreen = this;
|
||||||
myPlaylist->Main()->Hide(); // hack, should be myScreen, but it doesn't always have 100% width
|
myPlaylist->Main()->Hide(); // hack, should be myScreen, but it doesn't always have 100% width
|
||||||
|
|||||||
@@ -181,6 +181,7 @@ void Connection::UpdateStatus()
|
|||||||
itsChanges.Random = 1;
|
itsChanges.Random = 1;
|
||||||
itsChanges.Repeat = 1;
|
itsChanges.Repeat = 1;
|
||||||
itsChanges.PlayerState = 1;
|
itsChanges.PlayerState = 1;
|
||||||
|
itsChanges.StatusFlags = 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -194,6 +195,7 @@ void Connection::UpdateStatus()
|
|||||||
itsChanges.Random = itsOldStatus->random != itsCurrentStatus->random;
|
itsChanges.Random = itsOldStatus->random != itsCurrentStatus->random;
|
||||||
itsChanges.Repeat = itsOldStatus->repeat != itsCurrentStatus->repeat;
|
itsChanges.Repeat = itsOldStatus->repeat != itsCurrentStatus->repeat;
|
||||||
itsChanges.PlayerState = itsOldStatus->state != itsCurrentStatus->state;
|
itsChanges.PlayerState = itsOldStatus->state != itsCurrentStatus->state;
|
||||||
|
itsChanges.StatusFlags = itsChanges.Repeat || itsChanges.Random || itsChanges.Crossfade || itsChanges.DBUpdating;
|
||||||
}
|
}
|
||||||
itsUpdater(this, itsChanges, itsErrorHandlerUserdata);
|
itsUpdater(this, itsChanges, itsErrorHandlerUserdata);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ namespace MPD
|
|||||||
|
|
||||||
struct StatusChanges
|
struct StatusChanges
|
||||||
{
|
{
|
||||||
StatusChanges() : Playlist(0), SongID(0), Database(0), DBUpdating(0), Volume(0), ElapsedTime(0), Crossfade(0), Random(0), Repeat(0), PlayerState(0) { }
|
StatusChanges() : Playlist(0), SongID(0), Database(0), DBUpdating(0), Volume(0), ElapsedTime(0), Crossfade(0), Random(0), Repeat(0), PlayerState(0), StatusFlags(0) { }
|
||||||
bool Playlist:1;
|
bool Playlist:1;
|
||||||
bool SongID:1;
|
bool SongID:1;
|
||||||
bool Database:1;
|
bool Database:1;
|
||||||
@@ -53,6 +53,7 @@ namespace MPD
|
|||||||
bool Random:1;
|
bool Random:1;
|
||||||
bool Repeat:1;
|
bool Repeat:1;
|
||||||
bool PlayerState:1;
|
bool PlayerState:1;
|
||||||
|
bool StatusFlags:1;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef std::vector<Item> ItemList;
|
typedef std::vector<Item> ItemList;
|
||||||
|
|||||||
@@ -341,24 +341,26 @@ int main(int argc, char *argv[])
|
|||||||
if (!Config.statusbar_visibility)
|
if (!Config.statusbar_visibility)
|
||||||
main_height++;
|
main_height++;
|
||||||
|
|
||||||
myHelp->Resize();
|
myHelp->hasToBeResized = 1;
|
||||||
myPlaylist->Resize();
|
myPlaylist->hasToBeResized = 1;
|
||||||
myBrowser->Resize();
|
myBrowser->hasToBeResized = 1;
|
||||||
mySearcher->Resize();
|
mySearcher->hasToBeResized = 1;
|
||||||
myLibrary->Resize();
|
myLibrary->hasToBeResized = 1;
|
||||||
myPlaylistEditor->Resize();
|
myPlaylistEditor->hasToBeResized = 1;
|
||||||
myInfo->Resize();
|
myInfo->hasToBeResized = 1;
|
||||||
myLyrics->Resize();
|
myLyrics->hasToBeResized = 1;
|
||||||
|
|
||||||
# ifdef HAVE_TAGLIB_H
|
# ifdef HAVE_TAGLIB_H
|
||||||
myTinyTagEditor->Resize();
|
myTinyTagEditor->hasToBeResized = 1;
|
||||||
myTagEditor->Resize();
|
myTagEditor->hasToBeResized = 1;
|
||||||
# endif // HAVE_TAGLIB_H
|
# endif // HAVE_TAGLIB_H
|
||||||
|
|
||||||
# ifdef ENABLE_CLOCK
|
# ifdef ENABLE_CLOCK
|
||||||
myClock->Resize();
|
myClock->hasToBeResized = 1;
|
||||||
# endif // ENABLE_CLOCK
|
# endif // ENABLE_CLOCK
|
||||||
|
|
||||||
|
myScreen->Resize();
|
||||||
|
|
||||||
if (Config.header_visibility)
|
if (Config.header_visibility)
|
||||||
wHeader->Resize(COLS, wHeader->GetHeight());
|
wHeader->Resize(COLS, wHeader->GetHeight());
|
||||||
|
|
||||||
@@ -367,9 +369,9 @@ int main(int argc, char *argv[])
|
|||||||
wFooter->Resize(COLS, wFooter->GetHeight());
|
wFooter->Resize(COLS, wFooter->GetHeight());
|
||||||
|
|
||||||
myScreen->Refresh();
|
myScreen->Refresh();
|
||||||
header_update_status = 1;
|
|
||||||
PlayerState mpd_state = Mpd->GetState();
|
PlayerState mpd_state = Mpd->GetState();
|
||||||
StatusChanges changes;
|
StatusChanges changes;
|
||||||
|
changes.StatusFlags = 1; // force status update
|
||||||
if (mpd_state == psPlay || mpd_state == psPause)
|
if (mpd_state == psPlay || mpd_state == psPause)
|
||||||
changes.ElapsedTime = 1; // restore status
|
changes.ElapsedTime = 1; // restore status
|
||||||
else
|
else
|
||||||
@@ -1340,16 +1342,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
size_t id = mDialog->Choice();
|
size_t id = mDialog->Choice();
|
||||||
|
|
||||||
if (myScreen == myLibrary)
|
myScreen->Refresh();
|
||||||
{
|
|
||||||
myLibrary->Refresh();
|
|
||||||
}
|
|
||||||
else if (myScreen == myPlaylistEditor)
|
|
||||||
{
|
|
||||||
myPlaylistEditor->Refresh();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
myScreen->Refresh();
|
|
||||||
|
|
||||||
if (id == 0)
|
if (id == 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -51,6 +51,9 @@ void Playlist::SwitchTo()
|
|||||||
if (myScreen == this)
|
if (myScreen == this)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (hasToBeResized)
|
||||||
|
Resize();
|
||||||
|
|
||||||
CLEAR_FIND_HISTORY;
|
CLEAR_FIND_HISTORY;
|
||||||
myScreen = this;
|
myScreen = this;
|
||||||
w->Hide();
|
w->Hide();
|
||||||
@@ -61,6 +64,7 @@ void Playlist::Resize()
|
|||||||
{
|
{
|
||||||
w->Resize(COLS, main_height);
|
w->Resize(COLS, main_height);
|
||||||
w->SetTitle(Config.columns_in_playlist ? Display::Columns(Config.song_columns_list_format) : "");
|
w->SetTitle(Config.columns_in_playlist ? Display::Columns(Config.song_columns_list_format) : "");
|
||||||
|
hasToBeResized = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string Playlist::Title()
|
std::string Playlist::Title()
|
||||||
|
|||||||
@@ -34,10 +34,6 @@ using namespace Global;
|
|||||||
using namespace MPD;
|
using namespace MPD;
|
||||||
using std::string;
|
using std::string;
|
||||||
|
|
||||||
//Window *Global::wPlaylistEditorActiveCol;
|
|
||||||
//Menu<string> *Global::List;
|
|
||||||
//Menu<Song> *Global::Content;
|
|
||||||
|
|
||||||
PlaylistEditor *myPlaylistEditor = new PlaylistEditor;
|
PlaylistEditor *myPlaylistEditor = new PlaylistEditor;
|
||||||
|
|
||||||
size_t PlaylistEditor::LeftColumnWidth;
|
size_t PlaylistEditor::LeftColumnWidth;
|
||||||
@@ -76,6 +72,8 @@ void PlaylistEditor::Resize()
|
|||||||
Content->Resize(RightColumnWidth, main_height);
|
Content->Resize(RightColumnWidth, main_height);
|
||||||
|
|
||||||
Content->MoveTo(RightColumnStartX, main_start_y);
|
Content->MoveTo(RightColumnStartX, main_start_y);
|
||||||
|
|
||||||
|
hasToBeResized = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string PlaylistEditor::Title()
|
std::string PlaylistEditor::Title()
|
||||||
@@ -95,6 +93,9 @@ void PlaylistEditor::SwitchTo()
|
|||||||
if (myScreen == this)
|
if (myScreen == this)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (hasToBeResized)
|
||||||
|
Resize();
|
||||||
|
|
||||||
CLEAR_FIND_HISTORY;
|
CLEAR_FIND_HISTORY;
|
||||||
myScreen = this;
|
myScreen = this;
|
||||||
myPlaylist->Main()->Hide(); // hack, should be myScreen, but it doesn't always have 100% width
|
myPlaylist->Main()->Hide(); // hack, should be myScreen, but it doesn't always have 100% width
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
class BasicScreen
|
class BasicScreen
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
BasicScreen() { }
|
BasicScreen() : hasToBeResized(0) { }
|
||||||
virtual ~BasicScreen() { }
|
virtual ~BasicScreen() { }
|
||||||
|
|
||||||
virtual void *&Cmp() = 0;
|
virtual void *&Cmp() = 0;
|
||||||
@@ -50,6 +50,8 @@ class BasicScreen
|
|||||||
|
|
||||||
virtual MPD::Song *CurrentSong() { return 0; }
|
virtual MPD::Song *CurrentSong() { return 0; }
|
||||||
|
|
||||||
|
bool hasToBeResized;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void Select(List *);
|
void Select(List *);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ void SearchEngine::Init()
|
|||||||
void SearchEngine::Resize()
|
void SearchEngine::Resize()
|
||||||
{
|
{
|
||||||
w->Resize(COLS, main_height);
|
w->Resize(COLS, main_height);
|
||||||
|
hasToBeResized = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SearchEngine::SwitchTo()
|
void SearchEngine::SwitchTo()
|
||||||
@@ -62,6 +63,9 @@ void SearchEngine::SwitchTo()
|
|||||||
if (myScreen == this)
|
if (myScreen == this)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (hasToBeResized)
|
||||||
|
Resize();
|
||||||
|
|
||||||
CLEAR_FIND_HISTORY;
|
CLEAR_FIND_HISTORY;
|
||||||
if (w->Empty())
|
if (w->Empty())
|
||||||
Prepare();
|
Prepare();
|
||||||
|
|||||||
@@ -40,8 +40,6 @@ using std::string;
|
|||||||
|
|
||||||
string Global::volume_state;
|
string Global::volume_state;
|
||||||
|
|
||||||
bool Global::header_update_status = 0;
|
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
time_t time_of_statusbar_lock;
|
time_t time_of_statusbar_lock;
|
||||||
@@ -396,29 +394,24 @@ void NcmpcppStatusChanged(Connection *Mpd, StatusChanges changed, void *)
|
|||||||
{
|
{
|
||||||
mpd_repeat = Mpd->GetRepeat() ? 'r' : 0;
|
mpd_repeat = Mpd->GetRepeat() ? 'r' : 0;
|
||||||
ShowMessage("Repeat is %s", !mpd_repeat ? "off" : "on");
|
ShowMessage("Repeat is %s", !mpd_repeat ? "off" : "on");
|
||||||
header_update_status = 1;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
if (changed.Random)
|
if (changed.Random)
|
||||||
{
|
{
|
||||||
mpd_random = Mpd->GetRandom() ? 'z' : 0;
|
mpd_random = Mpd->GetRandom() ? 'z' : 0;
|
||||||
ShowMessage("Random is %s", !mpd_random ? "off" : "on");
|
ShowMessage("Random is %s", !mpd_random ? "off" : "on");
|
||||||
header_update_status = 1;
|
|
||||||
}
|
}
|
||||||
if (changed.Crossfade)
|
if (changed.Crossfade)
|
||||||
{
|
{
|
||||||
int crossfade = Mpd->GetCrossfade();
|
int crossfade = Mpd->GetCrossfade();
|
||||||
mpd_crossfade = crossfade ? 'x' : 0;
|
mpd_crossfade = crossfade ? 'x' : 0;
|
||||||
ShowMessage("Crossfade set to %d seconds", crossfade);
|
ShowMessage("Crossfade set to %d seconds", crossfade);
|
||||||
header_update_status = 1;
|
|
||||||
}
|
}
|
||||||
if (changed.DBUpdating)
|
if (changed.DBUpdating)
|
||||||
{
|
{
|
||||||
mpd_db_updating = Mpd->GetDBIsUpdating() ? 'U' : 0;
|
mpd_db_updating = Mpd->GetDBIsUpdating() ? 'U' : 0;
|
||||||
ShowMessage(!mpd_db_updating ? "Database update finished!" : "Database update started!");
|
ShowMessage(!mpd_db_updating ? "Database update finished!" : "Database update started!");
|
||||||
header_update_status = 1;
|
|
||||||
}
|
}
|
||||||
if (header_update_status && Config.header_visibility)
|
if (changed.StatusFlags && Config.header_visibility)
|
||||||
{
|
{
|
||||||
switch_state.clear();
|
switch_state.clear();
|
||||||
if (mpd_repeat)
|
if (mpd_repeat)
|
||||||
@@ -445,7 +438,6 @@ void NcmpcppStatusChanged(Connection *Mpd, StatusChanges changed, void *)
|
|||||||
}
|
}
|
||||||
attroff(A_BOLD|COLOR_PAIR(Config.state_line_color));
|
attroff(A_BOLD|COLOR_PAIR(Config.state_line_color));
|
||||||
refresh();
|
refresh();
|
||||||
header_update_status = 0;
|
|
||||||
}
|
}
|
||||||
if (changed.Volume && Config.header_visibility)
|
if (changed.Volume && Config.header_visibility)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ void TinyTagEditor::Init()
|
|||||||
void TinyTagEditor::Resize()
|
void TinyTagEditor::Resize()
|
||||||
{
|
{
|
||||||
w->Resize(COLS, main_height);
|
w->Resize(COLS, main_height);
|
||||||
|
hasToBeResized = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TinyTagEditor::SwitchTo()
|
void TinyTagEditor::SwitchTo()
|
||||||
@@ -66,6 +67,8 @@ void TinyTagEditor::SwitchTo()
|
|||||||
}
|
}
|
||||||
else if (GetTags())
|
else if (GetTags())
|
||||||
{
|
{
|
||||||
|
if (hasToBeResized)
|
||||||
|
Resize();
|
||||||
myOldScreen = myScreen;
|
myOldScreen = myScreen;
|
||||||
myScreen = this;
|
myScreen = this;
|
||||||
redraw_header = 1;
|
redraw_header = 1;
|
||||||
@@ -205,21 +208,7 @@ void TinyTagEditor::EnterPressed()
|
|||||||
}
|
}
|
||||||
case 15:
|
case 15:
|
||||||
{
|
{
|
||||||
w->Clear();
|
myOldScreen->SwitchTo();
|
||||||
myScreen = myOldScreen;
|
|
||||||
redraw_header = 1;
|
|
||||||
if (myScreen == myLibrary)
|
|
||||||
{
|
|
||||||
myLibrary->Refresh();
|
|
||||||
}
|
|
||||||
else if (myScreen == myPlaylistEditor)
|
|
||||||
{
|
|
||||||
myPlaylistEditor->Refresh();
|
|
||||||
}
|
|
||||||
else if (myScreen == myTagEditor)
|
|
||||||
{
|
|
||||||
myTagEditor->Refresh();
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -352,6 +341,8 @@ void TagEditor::Resize()
|
|||||||
|
|
||||||
TagTypes->MoveTo(MiddleColumnStartX, main_start_y);
|
TagTypes->MoveTo(MiddleColumnStartX, main_start_y);
|
||||||
Tags->MoveTo(RightColumnStartX, main_start_y);
|
Tags->MoveTo(RightColumnStartX, main_start_y);
|
||||||
|
|
||||||
|
hasToBeResized = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string TagEditor::Title()
|
std::string TagEditor::Title()
|
||||||
@@ -364,6 +355,9 @@ void TagEditor::SwitchTo()
|
|||||||
if (myScreen == this)
|
if (myScreen == this)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (hasToBeResized)
|
||||||
|
Resize();
|
||||||
|
|
||||||
CLEAR_FIND_HISTORY;
|
CLEAR_FIND_HISTORY;
|
||||||
|
|
||||||
myScreen = this;
|
myScreen = this;
|
||||||
|
|||||||
Reference in New Issue
Block a user